00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef IVT_SHELL_H
00024 #define IVT_SHELL_H
00025
00027
00028
00029
00031
00032 #include <IvTune/IvTuneExtender/IvtLibName.h>
00033
00034 #include <Inventor/nodes/SoNode.h>
00035
00036 #include <QObject>
00037
00038 #ifdef _WIN32
00039 # if !defined(IvTuneExtenderAPI_EXPORTS)
00040 # ifndef OIV_DISABLE_AUTOLINK
00041 # pragma comment(lib,__IVTEXLIB)
00042 # endif
00043 # endif
00044 #endif //win
00045
00046 class QDockWidget;
00047 class QMenu;
00048 class QString;
00049 class QToolBar;
00050 class QTreeWidget;
00051 class QWidget;
00052
00053 class IvtExtension;
00054 class IvtEditor;
00055
00056 class SoField;
00057 class SoType;
00058
00076 class IVTEXTENDER_API IvtShell: public QObject
00077 {
00078 Q_OBJECT
00079
00080 public:
00081
00082
00089 virtual void registerDock( QDockWidget* dock, Qt::DockWidgetArea area ) = 0;
00090
00096 virtual void unregisterDock( QDockWidget* dock ) = 0;
00097
00098
00105 virtual std::vector<QMenu*> getContextualMenus( const SoType& type ) = 0;
00106
00114 virtual void registerContextualMenu( const SoType& type, bool strict, QMenu* newMenu ) = 0;
00115
00121 virtual void registerMenu( QMenu* newMenu ) = 0;
00122
00130 virtual void registerViewMenu( IvtExtension* extension, SbBool visibilityOnActivate = true ) = 0;
00131
00138 virtual void unregisterContextualMenu( QMenu* menu ) = 0;
00139
00145 virtual void unregisterMenu( QMenu* menu ) = 0;
00146
00152 virtual void unregisterViewMenu( IvtExtension* extension ) = 0;
00153
00154
00164 virtual void registerPreferencePanel( IvtExtension* extension, QWidget* panel, const char* slotInitialized, const char* slotAccept ) = 0;
00165
00172 virtual void unregisterPreferencePanel( IvtExtension* extension ) = 0;
00173
00174
00178 virtual void clearStatusBarMessage() = 0;
00179
00192 virtual void regiterStatusBarWidget( QWidget* widget, SbBool isPermanent = false, int stretch = 0 ) = 0;
00193
00202 virtual void showStatusBarMessage( const SbString& newMessage, int timeout = 2000 ) = 0;
00203
00209 virtual void unregiterStatusBarWidget( QWidget* widget ) = 0;
00210
00211
00218 virtual void registerToolBar( QToolBar* tb, Qt::ToolBarArea area = Qt::TopToolBarArea ) = 0;
00219
00225 virtual void unregisterToolBar( QToolBar* tb ) = 0;
00226
00230 static IvtShell* getInstance();
00231
00232 private:
00233
00235 IvtShell();
00236
00240 virtual ~IvtShell();
00241
00243 static IvtShell* m_instance;
00244 };
00245
00246 #endif // IVT_SHELL_H
00247
00248
00249