2000-04-07 07:12:24 +00:00
|
|
|
#ifndef __plugin_part_h__
|
|
|
|
#define __plugin_part_h__
|
|
|
|
|
|
|
|
#include <kparts/browserextension.h>
|
2000-04-15 17:30:51 +00:00
|
|
|
#include <kparts/factory.h>
|
|
|
|
#include <kparts/part.h>
|
2000-04-07 07:12:24 +00:00
|
|
|
#include <klibloader.h>
|
2000-04-07 16:22:02 +00:00
|
|
|
#include <qwidget.h>
|
2000-09-03 19:10:08 +00:00
|
|
|
#include <qguardedptr.h>
|
2000-04-07 16:22:02 +00:00
|
|
|
|
2000-05-23 13:05:27 +00:00
|
|
|
class KAboutData;
|
2000-04-07 07:12:24 +00:00
|
|
|
class KInstance;
|
|
|
|
class PluginBrowserExtension;
|
|
|
|
class QLabel;
|
2000-04-14 13:15:57 +00:00
|
|
|
class NSPluginInstance;
|
2000-04-14 14:20:23 +00:00
|
|
|
class PluginPart;
|
|
|
|
|
|
|
|
|
|
|
|
#include "NSPluginCallbackIface.h"
|
|
|
|
|
|
|
|
|
|
|
|
class NSPluginCallback : public NSPluginCallbackIface
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
NSPluginCallback(PluginPart *part);
|
|
|
|
|
2001-01-26 08:13:57 +00:00
|
|
|
ASYNC requestURL(QString url, QString target);
|
|
|
|
ASYNC statusMessage( QString msg );
|
2000-04-14 14:20:23 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
PluginPart *_part;
|
|
|
|
};
|
2000-04-14 13:15:57 +00:00
|
|
|
|
2000-04-07 07:12:24 +00:00
|
|
|
|
2000-04-15 17:30:51 +00:00
|
|
|
class PluginFactory : public KParts::Factory
|
2000-04-07 07:12:24 +00:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
PluginFactory();
|
|
|
|
virtual ~PluginFactory();
|
2000-05-23 13:05:27 +00:00
|
|
|
|
2001-09-10 20:35:34 +00:00
|
|
|
virtual KParts::Part * createPartObject(QWidget *parentWidget = 0, const char *widgetName = 0,
|
2000-04-15 17:30:51 +00:00
|
|
|
QObject *parent = 0, const char *name = 0,
|
|
|
|
const char *classname = "KParts::Part",
|
|
|
|
const QStringList &args = QStringList());
|
|
|
|
|
2000-04-07 07:12:24 +00:00
|
|
|
static KInstance *instance();
|
2000-05-23 13:05:27 +00:00
|
|
|
static KAboutData *aboutData();
|
2000-04-07 07:12:24 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
static KInstance *s_instance;
|
2000-06-19 17:44:44 +00:00
|
|
|
class NSPluginLoader *_loader;
|
2000-04-07 07:12:24 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-04-07 16:22:02 +00:00
|
|
|
class PluginCanvasWidget : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
|
2000-05-23 13:05:27 +00:00
|
|
|
PluginCanvasWidget(QWidget *parent=0, const char *name=0)
|
2000-04-07 16:22:02 +00:00
|
|
|
: QWidget(parent,name) {};
|
2000-05-23 13:05:27 +00:00
|
|
|
|
2000-04-07 16:22:02 +00:00
|
|
|
protected:
|
|
|
|
void resizeEvent(QResizeEvent *e);
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void resized(int,int);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-04-07 07:12:24 +00:00
|
|
|
class PluginPart: public KParts::ReadOnlyPart
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2000-04-15 17:30:51 +00:00
|
|
|
PluginPart(QWidget *parentWidget, const char *widgetName, QObject *parent,
|
|
|
|
const char *name, const QStringList &args = QStringList());
|
2000-04-07 07:12:24 +00:00
|
|
|
virtual ~PluginPart();
|
|
|
|
|
2000-04-16 22:27:19 +00:00
|
|
|
void requestURL(QCString url, QCString target);
|
2001-01-07 15:56:59 +00:00
|
|
|
void statusMessage( QString msg );
|
2000-04-14 14:20:23 +00:00
|
|
|
|
2000-04-07 07:12:24 +00:00
|
|
|
protected:
|
2000-04-07 15:51:44 +00:00
|
|
|
virtual bool openURL(const KURL &url);
|
2000-04-07 07:12:24 +00:00
|
|
|
virtual bool closeURL();
|
2000-05-23 13:05:27 +00:00
|
|
|
virtual bool openFile() { return false; };
|
|
|
|
|
2000-04-07 16:22:02 +00:00
|
|
|
protected slots:
|
|
|
|
void pluginResized(int,int);
|
|
|
|
|
2000-04-07 07:12:24 +00:00
|
|
|
private:
|
2001-01-07 15:56:59 +00:00
|
|
|
QGuardedPtr<QWidget> _widget;
|
2000-04-15 11:16:41 +00:00
|
|
|
PluginCanvasWidget *_canvas;
|
|
|
|
PluginBrowserExtension *_extension;
|
|
|
|
NSPluginCallback *_callback;
|
|
|
|
QStringList _args;
|
2000-04-15 17:30:51 +00:00
|
|
|
class NSPluginLoader *_loader;
|
2000-04-07 07:12:24 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|