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