khtml_ext.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 #ifndef __khtml_ext_h__
00028 #define __khtml_ext_h__
00029 
00030 #include "khtml_part.h"
00031 
00032 #include <qguardedptr.h>
00033 
00034 #include <kaction.h>
00035 #include <kio/global.h>
00036 
00041 class KHTMLPartBrowserExtension : public KParts::BrowserExtension
00042 {
00043   Q_OBJECT
00044   friend class KHTMLPart;
00045   friend class KHTMLView;
00046 public:
00047   KHTMLPartBrowserExtension( KHTMLPart *parent, const char *name = 0L );
00048 
00049   virtual int xOffset();
00050   virtual int yOffset();
00051 
00052   virtual void saveState( QDataStream &stream );
00053   virtual void restoreState( QDataStream &stream );
00054 
00055     
00056     void editableWidgetFocused( QWidget *widget );
00057     void editableWidgetBlurred( QWidget *widget );
00058 
00059     void setExtensionProxy( KParts::BrowserExtension *proxyExtension );
00060 
00061 public slots:
00062     void cut();
00063     void copy();
00064     void paste();
00065     void reparseConfiguration();
00066     void print();
00067 
00068     
00069     
00070     void updateEditActions();
00071 
00072 private slots:
00073     
00074     void extensionProxyActionEnabled( const char *action, bool enable );
00075     void extensionProxyEditableWidgetFocused();
00076     void extensionProxyEditableWidgetBlurred();
00077 
00078 signals:
00079     void editableWidgetFocused();
00080     void editableWidgetBlurred();
00081 private:
00082     void callExtensionProxyMethod( const char *method );
00083 
00084     KHTMLPart *m_part;
00085     QGuardedPtr<QWidget> m_editableFormWidget;
00086     QGuardedPtr<KParts::BrowserExtension> m_extensionProxy;
00087     bool m_connectedToClipboard;
00088 };
00089 
00090 class KHTMLPartBrowserHostExtension : public KParts::BrowserHostExtension
00091 {
00092 public:
00093   KHTMLPartBrowserHostExtension( KHTMLPart *part );
00094   virtual ~KHTMLPartBrowserHostExtension();
00095 
00096   virtual QStringList frameNames() const;
00097 
00098   virtual const QPtrList<KParts::ReadOnlyPart> frames() const;
00099 
00100   virtual bool openURLInFrame( const KURL &url, const KParts::URLArgs &urlArgs );
00101 private:
00102   KHTMLPart *m_part;
00103 };
00104 
00109 class KHTMLPopupGUIClient : public QObject, public KXMLGUIClient
00110 {
00111   Q_OBJECT
00112 public:
00113   KHTMLPopupGUIClient( KHTMLPart *khtml, const QString &doc, const KURL &url );
00114   virtual ~KHTMLPopupGUIClient();
00115 
00116   static void saveURL( QWidget *parent, const QString &caption, const KURL &url,
00117                        const QMap<QString, QString> &metaData = KIO::MetaData(),
00118                        const QString &filter = QString::null, long cacheId = 0,
00119                        const QString &suggestedFilename = QString::null );
00120 
00121   static void saveURL( const KURL &url, const KURL &destination,
00122                        const QMap<QString, QString> &metaData = KIO::MetaData(),
00123                        long cacheId = 0 );
00124 private slots:
00125   void slotSaveLinkAs();
00126   void slotSaveImageAs();
00127   void slotCopyLinkLocation();
00128   void slotSendImage();
00129   void slotStopAnimations();
00130   void slotCopyImageLocation();
00131   void slotViewImage();
00132   void slotReloadFrame();
00133   void slotFrameInWindow();
00134   void slotFrameInTab();
00135 private:
00136   class KHTMLPopupGUIClientPrivate;
00137   KHTMLPopupGUIClientPrivate *d;
00138 };
00139 
00140 class KHTMLZoomFactorAction : public KAction
00141 {
00142     Q_OBJECT
00143 public:
00144     KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text, const QString &icon, const QObject *receiver, const char *slot, QObject *parent, const char *name );
00145     virtual ~KHTMLZoomFactorAction();
00146 
00147     virtual int plug( QWidget *w, int index );
00148 
00149 private slots:
00150     void slotActivated( int );
00151 protected slots:
00152     void slotActivated() { KAction::slotActivated(); }
00153 private:
00154     QPopupMenu *m_popup;
00155     bool m_direction;
00156     KHTMLPart *m_part;
00157 };
00158 
00159 #endif
 
This file is part of the documentation for khtml Library Version 3.2.0.