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 searchProvider();
00066
void openSelection();
00067
void reparseConfiguration();
00068
void print();
00069
00070
00071
00072
void updateEditActions();
00073
00074
private slots:
00075
00076
void extensionProxyActionEnabled(
const char *action,
bool enable );
00077
void extensionProxyEditableWidgetFocused();
00078
void extensionProxyEditableWidgetBlurred();
00079
00080 signals:
00081
void editableWidgetFocused();
00082
void editableWidgetBlurred();
00083
private:
00084
void callExtensionProxyMethod(
const char *method );
00085
00086
KHTMLPart *m_part;
00087
QGuardedPtr<QWidget> m_editableFormWidget;
00088
QGuardedPtr<KParts::BrowserExtension> m_extensionProxy;
00089
bool m_connectedToClipboard;
00090 };
00091
00092
class KHTMLPartBrowserHostExtension :
public KParts::BrowserHostExtension
00093 {
00094
public:
00095 KHTMLPartBrowserHostExtension(
KHTMLPart *part );
00096
virtual ~KHTMLPartBrowserHostExtension();
00097
00098
virtual QStringList frameNames() const;
00099
00100 virtual const
QPtrList<KParts::ReadOnlyPart> frames() const;
00101
00102 virtual
bool openURLInFrame( const
KURL &url, const KParts::URLArgs &urlArgs );
00103
00104 protected:
00105 virtual
void virtual_hook(
int id,
void* data );
00106 private:
00107
KHTMLPart *m_part;
00108 };
00109
00114 class KHTMLPopupGUIClient : public
QObject, public
KXMLGUIClient
00115 {
00116 Q_OBJECT
00117
public:
00118 KHTMLPopupGUIClient(
KHTMLPart *khtml,
const QString &doc,
const KURL &url );
00119
virtual ~KHTMLPopupGUIClient();
00120
00121
static void saveURL(
QWidget *parent,
const QString &caption,
const KURL &url,
00122
const QMap<QString, QString> &metaData =
KIO::MetaData(),
00123
const QString &filter = QString::null,
long cacheId = 0,
00124
const QString &suggestedFilename = QString::null );
00125
00126
static void saveURL(
const KURL &url,
const KURL &destination,
00127
const QMap<QString, QString> &metaData =
KIO::MetaData(),
00128
long cacheId = 0 );
00129
private slots:
00130
void slotSaveLinkAs();
00131
void slotSaveImageAs();
00132
void slotCopyLinkLocation();
00133
void slotSendImage();
00134
void slotStopAnimations();
00135
void slotCopyImageLocation();
00136
void slotCopyImage();
00137
void slotViewImage();
00138
void slotReloadFrame();
00139
void slotFrameInWindow();
00140
void slotFrameInTop();
00141
void slotFrameInTab();
00142
private:
00143
class KHTMLPopupGUIClientPrivate;
00144 KHTMLPopupGUIClientPrivate *d;
00145 };
00146
00147
class KHTMLZoomFactorAction :
public KAction
00148 {
00149 Q_OBJECT
00150
public:
00151
00152 KHTMLZoomFactorAction(
KHTMLPart *part,
bool direction,
const QString &text,
const QString &icon,
const QObject *receiver,
const char *slot, QObject *parent,
const char *name );
00153 KHTMLZoomFactorAction(
KHTMLPart *part,
bool direction,
const QString &text,
00154
const QString &icon,
const KShortcut& cut,
const QObject *receiver,
00155
const char *slot, QObject *parent,
const char *name );
00156
virtual ~KHTMLZoomFactorAction();
00157
00158
virtual int plug(
QWidget *w,
int index );
00159
00160
private slots:
00161
void slotActivated(
int );
00162
protected slots:
00163
void slotActivated() {
KAction::slotActivated(); }
00164
private:
00165
void init(
KHTMLPart *part,
bool direction);
00166
private:
00167
QPopupMenu *m_popup;
00168
bool m_direction;
00169
KHTMLPart *m_part;
00170 };
00171
00172
#endif