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"
31 class QtxResourceEdit;
32 class SalomeApp_Module;
33 class SalomeApp_SelectionMgr;
34 class SalomeApp_PreferencesDlg;
35 class SalomeApp_WidgetContainer;
37 class SALOME_LifeCycleCORBA;
40 #pragma warning( disable:4251 )
44 Class : SalomeApp_Application
45 Description : Application containing SalomeApp module
48 class SALOMEAPP_EXPORT SalomeApp_Application : public CAM_Application
53 typedef enum { WT_ObjectBrowser, WT_PyConsole, WT_LogWindow, WT_User } WindowTypes;
55 enum { ModulesListId = STD_Application::UserID, NewGLViewId,
56 NewPlot2dId, NewOCCViewId, NewVTKViewId, LoadScriptId, PropertiesId, UserID };
59 SalomeApp_Application();
60 virtual ~SalomeApp_Application();
62 virtual QString applicationName() const;
63 virtual QString applicationVersion() const;
65 virtual CAM_Module* loadModule( const QString& );
66 virtual bool activateModule( const QString& );
68 SalomeApp_SelectionMgr* selectionMgr() const;
70 LogWindow* logWindow();
71 OB_Browser* objectBrowser();
72 PythonConsole* pythonConsole();
74 QtxResourceEdit* resourceEdit() const;
76 virtual QString getFileFilter() const;
77 SUIT_ViewManager* getViewManager( const QString&, const bool );
81 QWidget* getWindow( const int, const int = -1 );
83 QWidget* window( const int, const int = -1 ) const;
84 void addWindow( QWidget*, const int, const int = -1 );
85 void removeWindow( const int, const int = -1 );
87 bool isWindowVisible( const int ) const;
88 void setWindowShown( const int, const bool );
92 static CORBA::ORB_var orb();
93 static SALOMEDSClient_StudyManager* studyMgr();
94 static SALOME_NamingService* namingService();
95 static SALOME_LifeCycleCORBA* lcc();
96 static QString defaultEngineIOR();
104 virtual void onNewDoc();
105 virtual void onOpenDoc();
106 virtual void onHelpAbout();
110 void onAboutRefresh();
113 virtual void createActions();
114 virtual SUIT_Study* createNewStudy();
115 virtual QWidget* createWindow( const int );
116 virtual void defaultWindows( QMap<int, int>& ) const;
117 virtual void defaultViewManagers( QStringList& ) const;
119 virtual void setActiveStudy( SUIT_Study* );
121 virtual void updateCommandsStatus();
123 virtual void onSelectionChanged();
125 virtual void beforeCloseDoc( SUIT_Study* );
126 virtual void afterCloseDoc();
128 virtual QString getFileName( bool );
132 void onModuleActivation( QAction* );
133 void onCloseView( SUIT_ViewManager* );
135 void onStudyCreated( SUIT_Study* );
136 void onStudyOpened( SUIT_Study* );
137 void onStudySaved( SUIT_Study* );
138 void onStudyClosed( SUIT_Study* );
144 void updateWindows();
145 void updateViewManagers();
146 void updateModuleActions();
148 void loadWindowsGeometry();
149 void saveWindowsGeometry();
151 QString defaultModule() const;
152 void currentWindows( QMap<int, int>& ) const;
153 void currentViewManagers( QStringList& ) const;
154 SUIT_ViewManager* createViewManager( const QString& vmType );
155 void moduleIconNames( QMap<QString, QString>& ) const;
157 void activateWindows();
160 typedef QMap<QString, QAction*> ActionMap;
161 typedef QMap<int, SalomeApp_WidgetContainer*> WindowMap;
164 SalomeApp_SelectionMgr* mySelMgr;
165 SalomeApp_PreferencesDlg* myPrefDlg;
171 #pragma warning( default:4251 )