Salome HOME
0f8a37aac158ccb54277a97a3d37fb2b04ba1026
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.h
1 //=============================================================================
2 // File      : SalomePyQt.h
3 // Created   : 25/04/05
4 // Author    : Vadim SANDLER
5 // Project   : SALOME
6 // Copyright : 2003-2005 CEA/DEN, EDF R&D
7 // $Header   : $
8 //=============================================================================
9
10 #ifndef SALOME_PYQT_H
11 #define SALOME_PYQT_H
12
13 #include <qstring.h>
14 #include <qobject.h>
15 #include <qcolor.h>
16
17 #include <LightApp_Application.h>
18
19 class LightApp_SelectionMgr;
20 class SalomeApp_Application;
21 class QMenuBar;
22 class QPopupMenu;
23 class QWidget;
24 class QtxAction;
25
26 class SALOME_Selection : public QObject
27 {
28   Q_OBJECT
29
30 public:
31   ~SALOME_Selection();
32   static SALOME_Selection* GetSelection( SalomeApp_Application* );
33
34   void Clear();
35   void ClearIObjects();
36   void ClearFilters();
37
38 signals:
39   void currentSelectionChanged();
40
41 private slots:
42   void onSelMgrDestroyed();
43
44 private:
45   LightApp_SelectionMgr* mySelMgr;
46   SALOME_Selection( QObject* );
47 };
48
49 enum MenuName {
50   File        = 1,
51   View        = 2,
52   Edit        = 3,
53   Preferences = 4,
54   Tools       = 5,
55   Window      = 6,
56   Help        = 7  
57 };
58
59 enum {
60   WT_ObjectBrowser = LightApp_Application::WT_ObjectBrowser,
61   WT_PyConsole     = LightApp_Application::WT_PyConsole,
62   WT_LogWindow     = LightApp_Application::WT_LogWindow,
63   WT_User          = LightApp_Application::WT_User
64 };
65
66 class SalomePyQt
67 {
68 public:
69   static QWidget*          getDesktop();
70   static QWidget*          getMainFrame();
71   static QMenuBar*         getMainMenuBar();
72   static QPopupMenu*       getPopupMenu( const MenuName );
73   static SALOME_Selection* getSelection();
74   static int               getStudyId();
75   static void              putInfo( const QString&, const int = 0 );
76   static const QString     getActiveComponent();
77   static void              updateObjBrowser( const int = 0, bool = true );
78
79   static QString           getFileName         ( QWidget*, const QString&, const QStringList&, const QString&, bool );
80   static QStringList       getOpenFileNames    ( QWidget*, const QString&, const QStringList&, const QString& );
81   static QString           getExistingDirectory( QWidget*, const QString&, const QString& );
82
83   static void              helpContext( const QString&, const QString& );
84
85   static bool              dumpView( const QString& );
86
87   static int               createTool( const QString& );
88   static int               createTool( const int,  const int,      const int = -1 );
89   static int               createTool( const int,  const QString&, const int = -1 );
90   static int               createTool( QtxAction*, const int,      const int = -1, const int = -1 );
91   static int               createTool( QtxAction*, const QString&, const int = -1, const int = -1 );
92
93   static int               createMenu( const QString&, const int = -1,
94                                        const int = -1, const int = -1 );
95   static int               createMenu( const QString&, const QString& = QString::null, 
96                                        const int = -1, const int = -1 );
97   static int               createMenu( const int,      const int = -1,
98                                        const int = -1, const int = -1 );
99   static int               createMenu( const int,      const QString& = QString::null, 
100                                        const int = -1, const int = -1 );
101   static int               createMenu( QtxAction*,     const int,      const int = -1, 
102                                        const int = -1, const int = -1 );
103   static int               createMenu( QtxAction*,     const QString&, const int = -1, 
104                                        const int = -1, const int = -1 );
105
106   static QtxAction*        createSeparator();
107
108   static QtxAction*        createAction( const int, const QString&,
109                                          const QString& = QString::null, const QString& = QString::null, 
110                                          const QString& = QString::null, const int = 0, const bool = false );
111
112   static QtxAction*        action( const int );
113   static int               actionId( const QtxAction* );
114
115   static void              addSetting    ( const QString&, const QString&, const double );
116   static void              addSetting    ( const QString&, const QString&, const int );
117   static void              addSetting    ( const QString&, const QString&, const QString& );
118   static void              addSetting    ( const QString&, const QString&, const QColor& );
119   static int               integerSetting( const QString&, const QString&, const int = 0 );
120   static double            doubleSetting ( const QString&, const QString&, const int = 0 );
121   static bool              boolSetting   ( const QString&, const QString&, const bool = 0 );
122   static QString           stringSetting ( const QString&, const QString&, const QString& = QString("") );
123   static QColor            colorSetting  ( const QString&, const QString&, const QColor& = QColor() );
124   static void              removeSetting ( const QString&, const QString& );
125   // obsolete
126   static void              addStringSetting( const QString&, const QString&, bool = true );
127   static void              addIntSetting   ( const QString&, const int,      bool = true );
128   static void              addDoubleSetting( const QString&, const double,   bool = true );
129   static void              removeSettings  ( const QString& );
130   static QString           getSetting      ( const QString& );
131 };
132
133 #endif // SALOME_PYQT_H