khtml Library API Documentation

khtml_ext.h

00001 /* This file is part of the KDE project 00002 * 00003 * Copyright (C) 2000-2003 Simon Hausmann <hausmann@kde.org> 00004 * 2001-2003 George Staikos <staikos@kde.org> 00005 * 2001-2003 Laurent Montel <montel@kde.org> 00006 * 2001-2003 Dirk Mueller <mueller@kde.org> 00007 * 2001-2003 Waldo Bastian <bastian@kde.org> 00008 * 2001-2003 David Faure <faure@kde.org> 00009 * 2001-2003 Daniel Naber <dnaber@kde.org> 00010 * 00011 * This library is free software; you can redistribute it and/or 00012 * modify it under the terms of the GNU Library General Public 00013 * License as published by the Free Software Foundation; either 00014 * version 2 of the License, or (at your option) any later version. 00015 * 00016 * This library is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 * Library General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Library General Public License 00022 * along with this library; see the file COPYING.LIB. If not, write to 00023 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00024 * Boston, MA 02111-1307, USA. 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 // internal 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 // internal . updates the state of the cut/copt/paste action based 00069 // on whether data is available in the clipboard 00070 void updateEditActions(); 00071 00072 private slots: 00073 // connected to a frame's browserextensions enableAction signal 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 //BCI: remove in KDE 4 00145 KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text, const QString &icon, const QObject *receiver, const char *slot, QObject *parent, const char *name ); 00146 KHTMLZoomFactorAction( KHTMLPart *part, bool direction, const QString &text, 00147 const QString &icon, const KShortcut& cut, const QObject *receiver, 00148 const char *slot, QObject *parent, const char *name ); 00149 virtual ~KHTMLZoomFactorAction(); 00150 00151 virtual int plug( QWidget *w, int index ); 00152 00153 private slots: 00154 void slotActivated( int ); 00155 protected slots: 00156 void slotActivated() { KAction::slotActivated(); } 00157 private: 00158 QPopupMenu *m_popup; 00159 bool m_direction; 00160 KHTMLPart *m_part; 00161 }; 00162 00163 #endif
KDE Logo
This file is part of the documentation for khtml Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 20 09:50:28 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003