Salome HOME
b4ff564440a1ab63f584d1aa189c472425d5b87b
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.sip
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 // File   : SalomePyQt.sip
23 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
24 //
25
26 %Module SalomePyQt
27
28 %Import QtGuimod.sip
29 %Import QtXmlmod.sip
30
31 %ExportedHeaderCode
32 #include <QtxAction.h>
33 #include <QtxActionSet.h>
34 #include <QtxActionGroup.h>
35 #include <SalomePyQt.h>
36 %End
37
38 class SALOME_Selection : QObject
39 {
40 %TypeHeaderCode
41 #include <SalomePyQt.h>
42 %End
43
44 public:
45   void Clear() /ReleaseGIL/ ;
46   void ClearIObjects() /ReleaseGIL/ ;
47   void ClearFilters() /ReleaseGIL/ ;
48
49 private:
50   SALOME_Selection( QObject* /TransferThis/ );
51
52 signals:
53   void currentSelectionChanged();
54 };
55
56 enum MenuName {
57   File        = 1,
58   View        = 2,
59   Edit        = 3,
60   Preferences = 4,
61   Tools       = 5,
62   Window      = 6,
63   Help        = 7  
64 };
65
66 enum WindowType {
67   WT_ObjectBrowser,
68   WT_PyConsole,
69   WT_LogWindow,
70   WT_User
71 };
72
73 enum PrefType { 
74   PT_Auto,
75   PT_Space,
76   PT_Bool, 
77   PT_Color,
78   PT_String, 
79   PT_Selector, 
80   PT_DblSpin, 
81   PT_IntSpin, 
82   PT_Double, 
83   PT_Integer, 
84   PT_GroupBox, 
85   PT_Tab, 
86   PT_Frame, 
87   PT_Font, 
88   PT_DirList, 
89   PT_File, 
90 };
91
92 enum Orientation {
93   Horizontal = 0, 
94   Vertical   = 1  
95 };
96
97 enum Action {
98   MoveWidget   = 0, 
99   LeaveWidget  = 1, 
100   SplitAt      = 2  
101 };
102
103 class QtxAction : QWidgetAction
104 {
105 %TypeHeaderCode
106 #include <QtxAction.h>
107 %End
108
109 %ConvertToSubClassCode
110     if ( qobject_cast<QtxAction*>( sipCpp ) )
111       sipClass = sipClass_QtxAction;
112     else
113       sipClass = NULL;
114 %End
115
116 public:
117   explicit QtxAction( QObject* /TransferThis/ = 0, bool = false );
118   QtxAction( const QString&, const QString&, int, QObject* /TransferThis/, bool = false );
119   QtxAction( const QString&, const QIcon&, const QString&, int, QObject* /TransferThis/, bool = false );
120   virtual ~QtxAction();
121
122 private:
123   QtxAction( const QtxAction& );
124 };
125
126 class QtxActionSet : QtxAction
127 {
128 %TypeHeaderCode
129 #include <QtxActionSet.h>
130 %End
131
132 %ConvertToSubClassCode
133     if ( qobject_cast<QtxActionSet*>( sipCpp ) )
134       sipClass = sipClass_QtxActionSet;
135     else
136       sipClass = NULL;
137 %End
138
139 public:
140   explicit QtxActionSet( QObject* /TransferThis/ = 0 );
141   virtual ~QtxActionSet();
142
143   QList<QAction*> actions() const;
144   void            setActions( const QList<QAction*>& );
145
146   void            insertActions( const QList<QAction*>&, const int = -1 );
147
148   int             insertAction( QAction*, const int id = -1, const int = -1 );
149   int             insertAction( const QString&, const int id = -1, const int = -1 );
150   int             insertAction( const QString&, const QIcon&, const int id = -1, const int = -1 );
151
152   void            removeAction( QAction* );
153   void            removeAction( const int );
154
155   void            clear();
156
157 signals:
158   void            triggered( int );
159   void            triggered( QAction* );
160
161 private:
162   QtxActionSet( const QtxActionSet& );
163 };
164
165 class QtxActionGroup : QtxActionSet
166 {
167 %TypeHeaderCode
168 #include <QtxActionGroup.h>
169 %End
170
171 %ConvertToSubClassCode
172     if ( qobject_cast<QtxActionGroup*>( sipCpp ) )
173       sipClass = sipClass_QtxActionGroup;
174     else
175       sipClass = NULL;
176 %End
177
178 public:
179   explicit QtxActionGroup( QObject* /TransferThis/ = 0 );
180   QtxActionGroup( QObject* /TransferThis/, const bool );
181   virtual ~QtxActionGroup();
182
183   bool isExclusive() const;
184   bool usesDropDown() const;
185
186   void add( QAction* );
187
188 public slots:
189   void setExclusive( const bool );
190   void setUsesDropDown( const bool );
191
192 signals:
193   void selected( QAction* );
194
195 private:
196   QtxActionGroup( const QtxActionGroup& );
197 };
198
199 class SalomePyQt
200 {
201 %TypeHeaderCode
202 #include <SalomePyQt.h>
203 %End
204
205 public:
206   static QWidget*          getDesktop() /ReleaseGIL/ ;
207   static QWidget*          getMainFrame() /ReleaseGIL/ ;
208   static QMenuBar*         getMainMenuBar() /ReleaseGIL/ ;
209   static QMenu*            getPopupMenu( const MenuName ) /ReleaseGIL/ ;
210   static QMenu*            getPopupMenu( const QString& ) /ReleaseGIL/ ;
211   static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ;
212   static int               getStudyId() /ReleaseGIL/ ;
213   static void              putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
214   static const QString     getActiveComponent() /ReleaseGIL/ ;
215   static void              updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
216
217   static QString           getFileName         ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
218   static QStringList       getOpenFileNames    ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
219   static QString           getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
220
221   static void              helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
222
223   static bool              dumpView( const QString& ) /ReleaseGIL/ ;
224
225   static int               defaultMenuGroup() /ReleaseGIL/ ;
226
227   static int               createTool( const QString& ) /ReleaseGIL/ ;
228   static int               createTool( const int,  const int,      const int = -1 ) /ReleaseGIL/ ;
229   static int               createTool( const int,  const QString&, const int = -1 ) /ReleaseGIL/ ;
230   static int               createTool( QAction*,   const int,      const int = -1, const int = -1 ) /ReleaseGIL/ ;
231   static int               createTool( QAction*,   const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
232
233   static int               createMenu( const QString&, const int,
234                                        const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
235   static int               createMenu( const QString&, const QString&, 
236                                        const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
237   static int               createMenu( const int,      const int,
238                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
239   static int               createMenu( const int,      const QString&, 
240                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
241   static int               createMenu( QAction*,       const int,      const int = -1, 
242                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
243   static int               createMenu( QAction*,       const QString&, const int = -1, 
244                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
245   static QAction*          createSeparator() /ReleaseGIL/ ;
246
247   static QAction*          createAction( const int, const QString&, 
248                                          const QString& = QString(), const QString& = QString(), 
249                                          const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
250
251   static QtxActionGroup*   createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
252
253   static QAction*          action( const int ) /ReleaseGIL/ ;
254   static int               actionId( const QAction* ) /ReleaseGIL/ ;
255
256   static void              addSetting    ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
257   static void              addSetting    ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
258   static void              addSetting    ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
259   static void              addSetting    ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
260   static void              addSetting    ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
261   static int               integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
262   static double            doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
263   static bool              boolSetting   ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
264   static QString           stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ;
265   static QColor            colorSetting  ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
266   static void              removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
267   static bool              hasSetting    ( const QString&, const QString& ) /ReleaseGIL/ ;
268
269 // obsolete
270   static void              addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
271   static void              addIntSetting   ( const QString&, const int,      bool = true ) /ReleaseGIL/ ;
272   static void              addDoubleSetting( const QString&, const double,   bool = true ) /ReleaseGIL/ ;
273   static void              addBoolSetting  ( const QString&, const bool,     bool = true ) /ReleaseGIL/ ;
274   static void              removeSettings  ( const QString& ) /ReleaseGIL/ ;
275   static QString           getSetting      ( const QString& ) /ReleaseGIL/ ;
276
277   static int               addGlobalPreference( const QString& ) /ReleaseGIL/ ;
278   static int               addPreference( const QString& ) /ReleaseGIL/ ;
279   static int               addPreference( const QString&,
280                                           const int, const int = PT_Auto,
281                                           const QString& = QString(),
282                                           const QString& = QString() ) /ReleaseGIL/ ;
283   static QVariant          preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
284   static void              setPreferenceProperty( const int, 
285                                                   const QString&,
286                                                   const QVariant& ) /ReleaseGIL/ ;
287   static void              addPreferenceProperty( const int, 
288                                                   const QString&, 
289                                                   const int, 
290                                                   const QVariant& ) /ReleaseGIL/ ;
291
292   static void              message( const QString&, bool = true ) /ReleaseGIL/ ;
293   static void              clearMessages() /ReleaseGIL/ ;
294   
295   static QList<int>        getViews() /ReleaseGIL/ ;
296   static int               getActiveView() /ReleaseGIL/ ;
297   static QString           getViewType( const int ) /ReleaseGIL/ ;
298   static bool              setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
299   static QString           getViewTitle( const int ) /ReleaseGIL/ ;
300   static QList<int>        findViews( const QString& ) /ReleaseGIL/ ;
301   static bool              activateView( const int ) /ReleaseGIL/ ;
302   static int               createView( const QString& ) /ReleaseGIL/ ;
303   static bool              closeView( const int ) /ReleaseGIL/ ;
304   static int               cloneView( const int ) /ReleaseGIL/ ;
305   static bool              isViewVisible( const int id ) /ReleaseGIL/ ;
306   
307   static bool              groupAllViews() /ReleaseGIL/ ;
308   static bool              splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
309   static bool              moveView( const int, const int, const bool ) /ReleaseGIL/ ;
310   static QList<int>        neighbourViews( const int ) /ReleaseGIL/ ;
311 };