Salome HOME
0cad762f5359522c0b98a94ab44e91642aea0fe9
[modules/gui.git] / src / SalomeApp / SalomeApp_Application.h
1 // File:      SalomeApp_Application.h
2 // Created:   10/22/2004 3:37:25 PM
3 // Author:    Sergey LITONIN
4 // Copyright (C) CEA 2004
5
6 #ifndef SALOMEAPP_APPLICATION_H
7 #define SALOMEAPP_APPLICATION_H
8
9 #if _MSC_VER > 1000
10 #pragma once
11 #endif // _MSC_VER > 1000
12
13 #include "SalomeApp.h"
14 #include <LightApp_Application.h>
15
16 #include <CORBA.h>
17
18 #include <SALOMEconfig.h>
19 //#include CORBA_CLIENT_HEADER(SALOMEDS)
20 #include <SALOME_NamingService.hxx>
21
22 #include "SALOMEDSClient.hxx"
23
24 class QAction;
25 class QComboBox;
26 class QDockWindow;
27
28 class LightApp_Preferences;
29 class SalomeApp_Module;
30
31 class SALOME_LifeCycleCORBA;
32
33 #ifdef WIN32
34 #pragma warning( disable:4251 )
35 #endif
36
37 /*!
38   Description : Application containing SalomeApp module
39 */
40
41 class SALOMEAPP_EXPORT SalomeApp_Application : public LightApp_Application
42 {
43   Q_OBJECT
44
45 public:
46   enum { DumpStudyId = LightApp_Application::UserID, LoadScriptId, PropertiesId,
47          CatalogGenId, RegDisplayId, UserID };
48
49 public:
50   SalomeApp_Application();
51   virtual ~SalomeApp_Application();
52
53   virtual void                        contextMenuPopup( const QString&, QPopupMenu*, QString& );
54   virtual void                        updateObjectBrowser( const bool = true );
55
56   virtual QString                     getFileFilter() const;
57
58   SUIT_ViewManager*                   getViewManager( const QString&, const bool );
59
60   virtual void                        start();
61
62   static CORBA::ORB_var               orb();
63   static SALOMEDSClient_StudyManager* studyMgr();
64   static SALOME_NamingService*        namingService();
65   static SALOME_LifeCycleCORBA*       lcc();
66   static QString                      defaultEngineIOR();
67
68 public slots:
69   virtual void                        onLoadDoc();
70   virtual void                        onCopy();
71   virtual void                        onPaste();  
72   
73 protected:
74   virtual void                        createActions();
75   virtual SUIT_Study*                 createNewStudy();
76   virtual QWidget*                    createWindow( const int );
77
78   virtual void                        updateCommandsStatus();
79   virtual void                        onSelectionChanged();
80
81   virtual void                        createPreferences( LightApp_Preferences* );
82   virtual void                        updateDesktopTitle();
83
84 private slots:
85   void                                onDeleteReferences();
86   void                                onProperties();
87   void                                onDumpStudy();
88   void                                onLoadScript(); 
89
90   void                                onCatalogGen();
91   void                                onRegDisplay();
92   void                                onOpenWith();
93 };
94
95 #ifdef WIN32
96 #pragma warning( default:4251 )
97 #endif
98
99 #endif