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
00021
00022
00023
00024
00025
00026
00027
00028
00029 namespace mudbox {
00030
00031
00032
00034
00036
00038
00040
00042
00044
00046
00048
00050
00052
00054
00056
00057 struct MBDLL_DECL Plugin
00058
00059 {
00060
00061 typedef void initializer( void );
00062
00063
00064
00066
00067 Plugin( void ) {};
00068
00069
00070
00072
00073 Plugin( const QString &sName, const QString &sDescription, const QString &sAuthor, const QString &sURL, const QString &sCompileTime, initializer *fFunc = 0 );
00074
00075
00076
00078
00079 static void SetVersion( const QString& sName, const QString &sVersion );
00080
00081
00082
00083 QString m_sName;
00084
00085 QString m_sDescription;
00086
00087 QString m_sAuthor;
00088
00089 QString m_sURL;
00090
00091 QString m_sCompileTime;
00092
00093 QString m_sPluginFolder;
00094
00095 initializer *m_pInitializer;
00096
00097 QString m_sVersion;
00098
00099 };
00100
00101
00102
00104
00106
00108
00110
00111 class MBDLL_DECL WindowPlugin : public QObject
00112
00113 {
00114
00115 public:
00116
00118
00119 virtual void Start() = 0;
00120
00121
00122
00124
00125 virtual void Stop() = 0;
00126
00127
00128
00130
00131 virtual bool IsEnabled() = 0;
00132
00133
00134
00136
00137 virtual QWidget* CreateWidget(QWidget *parent, QString name) = 0;
00138
00139
00140
00142
00143 virtual QWidget* Widget() = 0;
00144
00145
00146
00148
00149 virtual QString Name();
00150
00151
00152
00154
00155 virtual QString Title();
00156
00157
00158
00160
00161 virtual bool AddToWindowMenu();
00162
00163
00164
00165 protected:
00166
00167 QString m_name;
00168
00169 QString m_title;
00170
00171 bool m_addToWindowMenu;
00172
00173 };
00174
00175
00176
00178
00180
00182
00184
00185 class MBDLL_DECL WebBrowserPlugin : public WindowPlugin
00186
00187 {
00188
00189 public:
00190
00191 WebBrowserPlugin(const QString name, const QString title);
00192
00193
00194
00196
00197 typedef enum
00198
00199 {
00200
00201 eNavNone = 0,
00202
00203 eNavMudLife,
00204
00205 eNavTutorials,
00206
00207 eNavMeshUpload,
00208
00209 eNavStampUpload,
00210
00211 eNavStencilUpload,
00212
00213 } NavigationPoints;
00214
00215
00216
00218
00219 typedef enum
00220
00221 {
00222
00223 eFileTypeStamps,
00224
00225 eFileTypeStencils,
00226
00227 eFileTypeMeshes,
00228
00229 } FileType;
00230
00231
00232
00234
00235 virtual void Navigate(const NavigationPoints nav) = 0;
00236
00237
00238
00240
00241 virtual void Upload(const QStringList &files, const FileType fileType) = 0;
00242
00243
00244
00246
00247 virtual void GetFileList(const FileType fileType, QFileInfoList &fileList, QString filter = "") = 0;
00248
00249 };
00250
00251
00252
00253 };
00254