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
00084
00085
00086
00087
private:
00088
void disposeImage();
00089
00090
QGuardedPtr<KHTMLPart> m_khtml;
00091
KParts::BrowserExtension *m_ext;
00092
QString m_mimeType;
00093 khtml::CachedImage *m_image;
00094 };
00095
00099
class KHTMLImageBrowserExtension :
public KParts::BrowserExtension
00100 {
00101 Q_OBJECT
00102
public:
00103 KHTMLImageBrowserExtension( KHTMLImage *parent,
const char *name = 0 );
00104
00105
virtual int xOffset();
00106
virtual int yOffset();
00107
00108
protected slots:
00109
void print();
00110
void reparseConfiguration();
00111
00112
private:
00113 KHTMLImage *m_imgPart;
00114 };
00115
00116
#endif