Salome HOME
Add methods to create menu and toolbar actions to be accessed from Python.
[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 class SalomeApp_SelectionMgr;
18 class QAction;
19 class QMenuBar;
20 class QPopupMenu;
21 class QWidget;
22
23 class SALOME_Selection : public QObject
24 {
25   Q_OBJECT
26
27 public:
28   SALOME_Selection();
29
30   void Clear();
31   void ClearIObjects();
32   void ClearFilters();
33
34 signals:
35   void currentSelectionChanged();
36
37 private slots:
38   void onSelMgrDestroyed();
39
40 private:
41   SalomeApp_SelectionMgr* mySelMgr;
42 };
43
44 enum MenuName {
45   File        = 1,
46   View        = 2,
47   Edit        = 3,
48   Preferences = 4,
49   Tools       = 5,
50   Window      = 6,
51   Help        = 7  
52 };
53
54 class SalomePyQt
55 {
56 public:
57   static QWidget*          getDesktop();
58   static QWidget*          getMainFrame();
59   static QMenuBar*         getMainMenuBar();
60   static QPopupMenu*       getPopupMenu( const MenuName );
61   static SALOME_Selection* getSelection();
62   static int               getStudyId();
63   static void              putInfo( const QString&, const int = 0 );
64   static const QString     getActiveComponent();
65   static void              updateObjBrowser( const int = 0, bool = true );
66
67   static QString           getFileName         ( QWidget*, const QString&, const QStringList&, const QString&, bool );
68   static QStringList       getOpenFileNames    ( QWidget*, const QString&, const QStringList&, const QString& );
69   static QString           getExistingDirectory( QWidget*, const QString&, const QString& );
70
71   static void              helpContext( const QString&, const QString& );
72
73   static bool              dumpView( const QString& );
74
75   static int               createTool( const QString& );
76   static int               createTool( const int, const int,      const int = -1 );
77   static int               createTool( const int, const QString&, const int = -1 );
78   static int               createTool( QAction*,  const int,      const int = -1, const int = -1 );
79   static int               createTool( QAction*,  const QString&, const int = -1, const int = -1 );
80
81   static int               createMenu( const QString&, const int = -1,
82                                        const int = -1, const int = -1 );
83   static int               createMenu( const QString&, const QString& = QString::null, 
84                                        const int = -1, const int = -1 );
85   static int               createMenu( const int,      const int = -1,
86                                        const int = -1, const int = -1 );
87   static int               createMenu( const int,      const QString& = QString::null, 
88                                        const int = -1, const int = -1 );
89   static int               createMenu( QAction*,       const int,      const int = -1, 
90                                        const int = -1, const int = -1 );
91   static int               createMenu( QAction*,       const QString&, const int = -1, 
92                                        const int = -1, const int = -1 );
93
94   static QAction*          createSeparator();
95
96   static QAction*          createAction( const int, const QString&,
97                                          const QString& = QString::null, const QString& = QString::null, 
98                                          const QString& = QString::null, const int = 0, const bool = false );
99
100   static QAction*          action( const int );
101   static int               actionId( const QAction* );
102
103   static void              addSetting    ( const QString&, const QString&, const double );
104   static void              addSetting    ( const QString&, const QString&, const int );
105   static void              addSetting    ( const QString&, const QString&, const QString& );
106   static void              addSetting    ( const QString&, const QString&, const QColor& );
107   static int               integerSetting( const QString&, const QString&, const int = 0 );
108   static double            doubleSetting ( const QString&, const QString&, const int = 0 );
109   static bool              boolSetting   ( const QString&, const QString&, const bool = 0 );
110   static QString           stringSetting ( const QString&, const QString&, const QString& = QString("") );
111   static QColor            colorSetting  ( const QString&, const QString&, const QColor& = QColor() );
112   static void              removeSetting ( const QString&, const QString& );
113   // obsolete
114   static void              addStringSetting( const QString&, const QString&, bool = true );
115   static void              addIntSetting   ( const QString&, const int,      bool = true );
116   static void              addDoubleSetting( const QString&, const double,   bool = true );
117   static void              removeSettings  ( const QString& );
118   static QString           getSetting      ( const QString& );
119 };
120
121 #endif // SALOME_PYQT_H