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,__IVTUNEEXTENDERAPILIB)
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
00075 class IvtShell: public QObject
00076 {
00077 Q_OBJECT
00078
00079 public:
00080
00081
00088 virtual void registerDock( QDockWidget* dock, Qt::DockWidgetArea area ) = 0;
00089
00095 virtual void unregisterDock( QDockWidget* dock ) = 0;
00096
00097
00104 virtual std::vector<QMenu*> getContextualMenus( const SoType& type ) = 0;
00105
00113 virtual void registerContextualMenu( const SoType& type, bool strict, QMenu* newMenu ) = 0;
00114
00120 virtual void registerMenu( QMenu* newMenu ) = 0;
00121
00129 virtual void registerViewMenu( IvtExtension* extension, SbBool visibilityOnActivate = true ) = 0;
00130
00137 virtual void unregisterContextualMenu( QMenu* menu ) = 0;
00138
00144 virtual void unregisterMenu( QMenu* menu ) = 0;
00145
00151 virtual void unregisterViewMenu( IvtExtension* extension ) = 0;
00152
00153
00163 virtual void registerPreferencePanel( IvtExtension* extension, QWidget* panel, const char* slotInitialized, const char* slotAccept ) = 0;
00164
00171 virtual void unregisterPreferencePanel( IvtExtension* extension ) = 0;
00172
00173
00177 virtual void clearStatusBarMessage() = 0;
00178
00191 virtual void regiterStatusBarWidget( QWidget* widget, SbBool isPermanent = false, int stretch = 0 ) = 0;
00192
00201 virtual void showStatusBarMessage( const SbString& newMessage, int timeout = 2000 ) = 0;
00202
00208 virtual void unregiterStatusBarWidget( QWidget* widget ) = 0;
00209
00210
00217 virtual void registerToolBar( QToolBar* tb, Qt::ToolBarArea area = Qt::TopToolBarArea ) = 0;
00218
00224 virtual void unregisterToolBar( QToolBar* tb ) = 0;
00225
00229 static IvtShell* getInstance();
00230
00231 private:
00232
00234 IvtShell();
00235
00239 virtual ~IvtShell();
00240
00242 static IvtShell* m_instance;
00243 };
00244
00245 #endif // IVT_SHELL_H
00246
00247
00248