KHTML
khtmlimage.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __khtmlimage_h__
00021 #define __khtmlimage_h__
00022
00023 #include "khtml_part.h"
00024 #include <kparts/factory.h>
00025 #include <kparts/browserextension.h>
00026
00027 #include "misc/loader_client.h"
00028
00029 class KHTMLPart;
00030 class KInstance;
00031
00032 namespace khtml
00033 {
00034 class CachedImage;
00035 }
00036
00040 class KHTMLImageFactory : public KParts::Factory
00041 {
00042 Q_OBJECT
00043 public:
00044 KHTMLImageFactory();
00045 virtual ~KHTMLImageFactory();
00046
00047 virtual KParts::Part *createPartObject( QWidget *parentWidget, const char *widgetName,
00048 QObject *parent, const char *name,
00049 const char *className, const QStringList &args );
00050
00051 static KInstance *instance() { return s_instance; }
00052
00053 private:
00054 static KInstance *s_instance;
00055 };
00056
00060 class KHTMLImage : public KParts::ReadOnlyPart, public khtml::CachedObjectClient
00061 {
00062 Q_OBJECT
00063 public:
00064 KHTMLImage( QWidget *parentWidget, const char *widgetName,
00065 QObject *parent, const char *name, KHTMLPart::GUIProfile prof );
00066 virtual ~KHTMLImage();
00067
00068 virtual bool openFile() { return true; }
00069
00070 virtual bool openURL( const KURL &url );
00071
00072 virtual bool closeURL();
00073
00074 KHTMLPart *doc() const { return m_khtml; }
00075
00076 virtual void notifyFinished( khtml::CachedObject *o );
00077
00078 protected:
00079 virtual void guiActivateEvent( KParts::GUIActivateEvent *e );
00080 virtual bool eventFilter( QObject *filterTarget, QEvent *e );
00081
00082 private slots:
00083 void restoreScrollPosition();
00084
00085
00086
00087
00088 private:
00089 void disposeImage();
00090
00091 QGuardedPtr<KHTMLPart> m_khtml;
00092 KParts::BrowserExtension *m_ext;
00093 QString m_mimeType;
00094 khtml::CachedImage *m_image;
00095 int m_xOffset, m_yOffset;
00096 };
00097
00101 class KHTMLImageBrowserExtension : public KParts::BrowserExtension
00102 {
00103 Q_OBJECT
00104 public:
00105 KHTMLImageBrowserExtension( KHTMLImage *parent, const char *name = 0 );
00106
00107 virtual int xOffset();
00108 virtual int yOffset();
00109
00110 protected slots:
00111 void print();
00112 void reparseConfiguration();
00113 void disableScrolling();
00114
00115 private:
00116 KHTMLImage *m_imgPart;
00117 };
00118
00119 #endif