1 // File: SalomeApp_Application.h
2 // Created: 10/22/2004 3:37:25 PM
3 // Author: Sergey LITONIN
4 // Copyright (C) CEA 2004
6 #ifndef SALOMEAPP_APPLICATION_H
7 #define SALOMEAPP_APPLICATION_H
11 #endif // _MSC_VER > 1000
13 #include "SalomeApp.h"
14 #include <CAM_Application.h>
18 #include <SALOMEconfig.h>
19 //#include CORBA_CLIENT_HEADER(SALOMEDS)
20 #include <SALOME_NamingService.hxx>
22 #include "SALOMEDSClient.hxx"
30 class SalomeApp_Module;
31 class SalomeApp_SelectionMgr;
32 class SalomeApp_WidgetContainer;
35 #pragma warning( disable:4251 )
39 Class : SalomeApp_Application
40 Description : Application containing SalomeApp module
43 class SALOMEAPP_EXPORT SalomeApp_Application : public CAM_Application
48 typedef enum { WT_ObjectBrowser, WT_PyConsole, WT_LogWindow, WT_User } WindowTypes;
50 enum { ModulesListId = STD_Application::UserID, NewGLViewId,
51 NewPlot2dId, NewOCCViewId, NewVTKViewId, UserID };
54 SalomeApp_Application();
55 virtual ~SalomeApp_Application();
57 virtual QString applicationName() const;
59 virtual CAM_Module* loadModule( const QString& );
60 virtual bool activateModule( const QString& );
62 SalomeApp_SelectionMgr* selectionMgr() const;
64 OB_Browser* objectBrowser();
65 LogWindow* logWindow();
67 virtual QString getFileFilter() const;
68 SUIT_ViewManager* getViewManager( const QString&, const bool );
72 QWidget* getWindow( const int, const int = -1 );
74 QWidget* window( const int, const int = -1 ) const;
75 void addWindow( QWidget*, const int, const int = -1 );
76 void removeWindow( const int, const int = -1 );
78 bool isWindowVisible( const int ) const;
79 void setWindowShown( const int, const bool );
83 static CORBA::ORB_var orb();
84 static SALOMEDSClient_StudyManager* studyMgr();
85 static SALOME_NamingService* namingService();
86 static QString defaultEngineIOR();
94 virtual void onNewDoc();
95 virtual void onOpenDoc();
96 virtual void onHelpAbout();
102 virtual void createActions();
103 virtual SUIT_Study* createNewStudy();
104 virtual QWidget* createWindow( const int );
105 virtual void defaultWindows( QMap<int, int>& ) const;
106 virtual void defaultViewManagers( QStringList& ) const;
108 virtual void setActiveStudy( SUIT_Study* );
110 virtual void updateCommandsStatus();
112 virtual void onSelectionChanged();
116 void onModuleActivation( QAction* );
117 void onCloseView( SUIT_ViewManager* );
119 void onStudyCreated( SUIT_Study* );
120 void onStudyOpened( SUIT_Study* );
121 void onStudySaved( SUIT_Study* );
122 void onStudyClosed( SUIT_Study* );
125 void updateWindows();
126 void updateViewManagers();
127 void updateModuleActions();
129 void loadWindowsGeometry();
130 void saveWindowsGeometry();
132 QString defaultModule() const;
133 void currentWindows( QMap<int, int>& ) const;
134 void currentViewManagers( QStringList& ) const;
135 SUIT_ViewManager* createViewManager( const QString& vmType );
136 void moduleIconNames( QMap<QString, QString>& ) const;
138 void activateWindows();
141 typedef QMap<QString, QAction*> ActionMap;
142 typedef QMap<int, SalomeApp_WidgetContainer*> WindowMap;
145 SalomeApp_SelectionMgr* mySelMgr;
151 #pragma warning( default:4251 )