Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 namespace mudbox {
00016
00029 struct MBDLL_DECL Plugin
00030 {
00031 typedef void initializer( void );
00032
00034 Plugin( void ) {};
00035
00037 Plugin( const QString &sName, const QString &sDescription, const QString &sAuthor, const QString &sURL, const QString &sCompileTime, initializer *fFunc = 0 );
00038
00040 static void SetVersion( const QString& sName, const QString &sVersion );
00041
00042 QString m_sName;
00043 QString m_sDescription;
00044 QString m_sAuthor;
00045 QString m_sURL;
00046 QString m_sCompileTime;
00047 QString m_sPluginFolder;
00048 initializer *m_pInitializer;
00049 QString m_sVersion;
00050 };
00051
00056 class MBDLL_DECL WindowPlugin : public QObject
00057 {
00058 public:
00060 virtual void Start() = 0;
00061
00063 virtual void Stop() = 0;
00064
00066 virtual bool IsEnabled() = 0;
00067
00069 virtual QWidget* CreateWidget(QWidget *parent, QString name) = 0;
00070
00072 virtual QWidget* Widget() = 0;
00073
00075 virtual QString Name();
00076
00078 virtual QString Title();
00079
00081 virtual bool AddToWindowMenu();
00082
00083 protected:
00084 QString m_name;
00085 QString m_title;
00086 bool m_addToWindowMenu;
00087 };
00088
00093 class MBDLL_DECL WebBrowserPlugin : public WindowPlugin
00094 {
00095 public:
00096 WebBrowserPlugin(const QString name, const QString title);
00097
00099 typedef enum
00100 {
00101 eNavNone = 0,
00102 eNavMudLife,
00103 eNavTutorials,
00104 eNavMeshUpload,
00105 eNavStampUpload,
00106 eNavStencilUpload,
00107 } NavigationPoints;
00108
00110 typedef enum
00111 {
00112 eFileTypeStamps,
00113 eFileTypeStencils,
00114 eFileTypeMeshes,
00115 } FileType;
00116
00118 virtual void Navigate(const NavigationPoints nav) = 0;
00119
00121 virtual void Upload(const QStringList &files, const FileType fileType) = 0;
00122
00124 virtual void GetFileList(const FileType fileType, QFileInfoList &fileList, QString filter = "") = 0;
00125 };
00126
00127 };