📄 khtml_part.h
字号:
void selectionChanged();
/**
* This signal is emitted when an element retrieves the
* keyboard focus. Note that the signal argument can be
* a null node if no element is active, meaning a node
* has explicitly been deactivated without a new one
* becoming active.
*/
void nodeActivated(const DOM::Node &);
public:
/**
* returns a KURL object for the given url. Use when
* you know what you're doing.
*/
KURL completeURL( const QString &url );
protected:
/**
* presents a detailed error message to the user.
* @p errorCode kio error code, eg KIO::ERR_SERVER_TIMEOUT.
* @p text kio additional information text.
* @p url the url that triggered the error.
*/
void htmlError(int errorCode, const QString& text, const KURL& reqUrl);
virtual void customEvent( QCustomEvent *event );
/**
* Eventhandler of the khtml::MousePressEvent.
*/
virtual void khtmlMousePressEvent( khtml::MousePressEvent *event );
/**
* Eventhandler for the khtml::MouseDoubleClickEvent.
*/
virtual void khtmlMouseDoubleClickEvent( khtml::MouseDoubleClickEvent * );
/**
* Eventhandler for the khtml::MouseDoubleMoveEvent.
*/
virtual void khtmlMouseMoveEvent( khtml::MouseMoveEvent *event );
/**
* Eventhandler for the khtml::MouseMoveEvent.
*/
virtual void khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event );
/**
* Eventhandler for the khtml::DrawContentsEvent.
*/
virtual void khtmlDrawContentsEvent( khtml::DrawContentsEvent * );
void selectClosestWordFromMouseEvent(QMouseEvent *mouse, DOM::Node &innerNode, int x, int y);
#if !APPLE_CHANGES
/**
* Internal reimplementation of KParts::Part::guiActivateEvent .
*/
virtual void guiActivateEvent( KParts::GUIActivateEvent *event );
#endif
/**
* Internal empty reimplementation of @ref KParts::ReadOnlyPart::openFile .
*/
virtual bool openFile();
virtual void urlSelected( const QString &url, int button, int state,
const QString &_target, KParts::URLArgs args = KParts::URLArgs());
#if !APPLE_CHANGES
/**
* This method is called when a new embedded object (include html frames) is to be created.
* Reimplement it if you want to add support for certain embeddable objects without registering
* them in the KDE wide registry system (KSyCoCa) . Another reason for re-implementing this
* method could be if you want to derive from KTHMLPart and also want all html frame objects
* to be a object of your derived type, in which case you should return a new instance for
* the mimetype 'text/html' .
*/
virtual KParts::ReadOnlyPart *createPart( QWidget *parentWidget, const char *widgetName,
QObject *parent, const char *name,
const QString &mimetype, QString &serviceName,
QStringList &serviceTypes, const QStringList ¶ms);
#endif
public slots:
/**
* Sets the focussed node of the document to the specified node. If the node is a form control, the control will
* receive focus in the same way that it would if the user had clicked on it or tabbed to it with the keyboard. For
* most other types of elements, there is no visul indiction of whether or not they are focussed.
*
* See @ref activeNode
*
* @param node The node to focus
*/
void setActiveNode(const DOM::Node &node);
/**
* Stops all animated images on the current and child pages
*/
void stopAnimations();
QCString dcopObjectId() const;
private slots:
/**
* @internal
*/
void reparseConfiguration();
/**
* @internal
*/
void slotData( KIO::Job*, const QByteArray &data );
/**
* @internal
*/
void slotRestoreData( const QByteArray &data );
/**
* @internal
*/
void slotFinished( KIO::Job* );
/**
* @internal
*/
void slotFinishedParsing();
/**
* @internal
*/
void slotRedirect();
/**
* @internal
*/
void slotRedirection(KIO::Job*, const KURL&);
/**
* @internal
*/
void slotDebugDOMTree();
/**
* @internal
*/
void slotDebugRenderTree();
#if !APPLE_CHANGES
/**
* @internal
*/
virtual void slotViewDocumentSource();
/**
* @internal
*/
virtual void slotViewFrameSource();
/**
* @internal
*/
virtual void slotSaveBackground();
/**
* @internal
*/
virtual void slotSaveDocument();
/**
* @internal
*/
virtual void slotSaveFrame();
/**
* @internal
*/
virtual void slotSecurity();
/**
* @internal
*/
virtual void slotSetEncoding();
/**
* @internal
*/
virtual void slotUseStylesheet();
virtual void slotFind();
virtual void slotFindDone();
virtual void slotFindDialogDestroyed();
#endif
void slotIncZoom();
void slotDecZoom();
#if APPLE_CHANGES
void childBegin();
#endif
void slotLoadImages();
/**
* @internal
*/
void submitFormAgain();
/**
* @internal
*/
void updateActions();
/**
* @internal
*/
void slotPartRemoved( KParts::Part *part );
/**
* @internal
*/
void slotActiveFrameChanged( KParts::Part *part );
/**
* @internal
*/
void slotChildStarted( KIO::Job *job );
/**
* @internal
*/
void slotChildCompleted();
/**
* @internal
*/
void slotChildCompleted( bool );
/**
* @internal
*/
void slotParentCompleted();
/**
* @internal
*/
void slotChildURLRequest( const KURL &url, const KParts::URLArgs &args );
void slotLoaderRequestStarted( khtml::DocLoader*, khtml::CachedObject* obj);
void slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *obj );
void checkCompleted();
/**
* @internal
*/
void slotShowDocument( const QString &url, const QString &target );
/**
* @internal
*/
void slotAutoScroll();
void slotPrintFrame();
void slotSelectAll();
/**
* @internal
*/
void slotProgressUpdate();
/*
* @internal
*/
void slotJobPercent(KIO::Job*, unsigned long);
/*
* @internal
*/
void slotJobSpeed(KIO::Job*, unsigned long);
/**
* @internal
*/
void slotClearSelection();
void slotEndLifeSupport();
private:
/**
* @internal
*/
bool restoreURL( const KURL &url );
/**
* @internal
*/
void clearCaretRectIfNeeded();
/**
* @internal
*/
void setFocusNodeIfNeeded();
/**
* @internal
*/
void selectionLayoutChanged();
/**
* @internal
*/
void emitSelectionChanged();
/**
* @internal
*/
void timerEvent(QTimerEvent *);
/**
* @internal
*/
bool openURLInFrame( const KURL &url, const KParts::URLArgs &urlArgs );
void startAutoScroll();
void stopAutoScroll();
void overURL( const QString &url, const QString &target, bool shiftPressed = false );
/**
* @internal
*/
bool processObjectRequest( khtml::ChildFrame *child, const KURL &url, const QString &mimetype );
/**
* @internal
*/
void submitForm( const char *action, const QString &url, const khtml::FormData &formData,
const QString &target, const QString& contentType = QString::null,
const QString& boundary = QString::null );
/**
* @internal
*/
void popupMenu( const QString &url );
void init( KHTMLView *view, GUIProfile prof );
virtual void clear();
bool scheduleScript( const DOM::Node &n, const QString& script);
QVariant executeScheduledScript();
bool requestFrame( khtml::RenderPart *frame, const QString &url, const QString &frameName,
const QStringList ¶mNames = QStringList(), const QStringList ¶mValues = QStringList(), bool isIFrame = false );
/**
* @internal returns a name for a frame without a name.
* This function returns a sequence of names.
* All names in a sequence are different but the sequence is
* always the same.
* The sequence is reset in clear().
*/
QString requestFrameName();
bool requestObject( khtml::RenderPart *frame, const QString &url, const QString &serviceType,
const QStringList ¶mNames = QStringList(), const QStringList ¶mValues = QStringList() );
bool requestObject( khtml::ChildFrame *child, const KURL &url, const KParts::URLArgs &args = KParts::URLArgs() );
DOM::EventListener *createHTMLEventListener( QString code, DOM::NodeImpl *node );
public:
DOM::DocumentImpl *xmlDocImpl() const;
void replaceDocImpl(DOM::DocumentImpl* newDoc);
// Workaround for the fact that it's hard to delete a frame.
// Call this after doing user-triggered selections to make it easy to delete the frame you entirely selected.
void selectFrameElementInParentIfFullySelected();
private:
khtml::ChildFrame *childFrame( const QObject *obj );
khtml::ChildFrame *recursiveFrameRequest( const KURL &url, const KParts::URLArgs &args, bool callParent = true );
void connectChild(const khtml::ChildFrame *) const;
void disconnectChild(const khtml::ChildFrame *) const;
bool checkLinkSecurity(const KURL &linkURL,const QString &message = QString::null, const QString &button = QString::null);
QVariant executeScript(QString filename, int baseLine, const DOM::Node &n, const QString &script);
void cancelRedirection(bool newLoadInProgress = false);
KJSProxy *jScript();
#if APPLE_CHANGES
public:
#endif
KHTMLPart *opener();
#if APPLE_CHANGES
private:
#endif
long cacheId() const;
void setOpener(KHTMLPart *_opener);
bool openedByJS();
void setOpenedByJS(bool _openedByJS);
void checkEmitLoadEvent();
void emitLoadEvent();
void receivedFirstData();
void replaceContentsWithScriptResult( const KURL &url );
bool handleMouseMoveEventDrag(khtml::MouseMoveEvent *event);
bool handleMouseMoveEventOver(khtml::MouseMoveEvent *event);
void handleMouseMoveEventSelection(khtml::MouseMoveEvent *event);
/**
* @internal Extracts anchor and tries both encoded and decoded form.
*/
void gotoAnchor();
#if APPLE_CHANGES
void handleMousePressEventSingleClick(khtml::MousePressEvent *event);
void handleMousePressEventDoubleClick(khtml::MousePressEvent *event);
void handleMousePressEventTripleClick(khtml::MousePressEvent *event);
#endif
DOM::CSSComputedStyleDeclarationImpl *selectionComputedStyle(DOM::NodeImpl *&nodeToRemove) const;
KHTMLPartPrivate *d;
friend class KHTMLPartPrivate;
friend class khtml::Selection;
#if APPLE_CHANGES
public:
friend class KWQKHTMLPart;
void completed();
void completed(bool);
bool didOpenURL(const KURL &);
void setStatusBarText(const QString &);
void started(KIO::Job *);
void frameDetached();
virtual void didFirstLayout() {}
#endif
#if NOKIA_CHANGES
enum FastDisplayState {
ShowingInitialDocument,
ShowingFastDisplayDocument,
ShowingFinalDocument
};
bool fastFirstDisplayMode() const;
void setFastFirstDisplayMode(bool fastmode);
void switchToDocWithPendingSrc();
void switchToFinalDoc();
void switchToFastDisplayDoc();
FastDisplayState fastDisplayState() const;
public:
void switchToEmptyDoc();
private:
KHTMLPartOOMStopper* iOOMStopper;
#endif
int frameCount;
};
#if APPLE_CHANGES
#include "KWQKHTMLPart.h"
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -