00001 //LabPlot : LabPlotPart.h 00002 00003 #ifndef LABPLOTPART_H 00004 #define LABPLOTPART_H 00005 00006 #include <kparts/part.h> 00007 #include <kparts/browserextension.h> 00008 #include <kparts/factory.h> 00009 #include <klibloader.h> 00010 #include "MainWin.h" 00011 00012 class KAboutData; 00013 class KInstance; 00014 class QLabel; 00015 class LabPlotPart; 00016 00017 class LabPlotFactory : public KParts::Factory 00018 { 00019 Q_OBJECT 00020 public: 00021 LabPlotFactory(); 00022 virtual ~LabPlotFactory(); 00023 00024 virtual KParts::Part *createPartObject( QWidget *parentWidget, const char *widgetName, QObject *parent=0, 00025 const char *name=0, const char *classname = "QObject", const QStringList &args = QStringList() ); 00026 00027 static KInstance *instance(); 00028 static KAboutData *aboutData(); 00029 00030 private: 00031 static KInstance *s_instance; 00032 }; 00033 00034 class LabPlotBrowserExtension : public KParts::BrowserExtension 00035 { 00036 Q_OBJECT 00037 friend class LabPlotPart; 00038 public: 00039 LabPlotBrowserExtension(class LabPlotPart *parent); 00040 virtual ~LabPlotBrowserExtension(); 00041 }; 00042 00043 class LabPlotPart: public KParts::ReadOnlyPart 00044 { 00045 Q_OBJECT 00046 public: 00047 LabPlotPart(QWidget *parentW, const char *wname,QObject *parent, const char *name); 00048 virtual ~LabPlotPart(); 00049 virtual bool closeURL(); 00050 00051 protected: 00052 virtual bool openFile(); 00053 00054 private: 00055 QWidget *p; 00056 QWorkspace *ws; 00057 LabPlotBrowserExtension *m_extension; 00058 }; 00059 00060 #endif 00061