Salome HOME
2eb35bd845a17ebd12e83a101e022457766284ea
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.sip
1 // Copyright (C) 2007-2012  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 QTreeView*        getObjectBrowser() /ReleaseGIL/ ;
212   static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ;
213   static int               getStudyId() /ReleaseGIL/ ;
214   static void              putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
215   static const QString     getActiveComponent() /ReleaseGIL/ ;
216   static SIP_PYOBJECT      getActivePythonModule() /ReleaseGIL/ ;
217   static bool              activateModule( const QString& ) /ReleaseGIL/ ;
218   static void              updateObjBrowser( const int = 0, bool =  true ) /ReleaseGIL/ ;
219   
220   static bool              isModified() /ReleaseGIL/ ;
221   static void              setModified( bool ) /ReleaseGIL/ ;
222
223   static QString           getFileName         ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
224   static QStringList       getOpenFileNames    ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
225   static QString           getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
226                          
227   static QString           createObject( const QString& = QString("") )  /ReleaseGIL/ ;
228   static QString           createObject( const QString&,
229                                          const QString&,
230                                          const QString&,
231                                          const QString& = QString("") )  /ReleaseGIL/ ;
232
233   static void              setName(const QString& ,const QString& ) /ReleaseGIL/ ;
234   static void              setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
235   static void              setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
236   static QString           getName(const QString& ) /ReleaseGIL/ ;
237   static QString           getToolTip(const QString& ) /ReleaseGIL/ ;
238
239   static void              setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
240   static QColor            getColor( const QString& ) /ReleaseGIL/ ;
241
242   static void              setReference( const QString& ,const QString& ) /ReleaseGIL/ ; 
243   static QString           getReference( const QString& ) /ReleaseGIL/ ;
244
245   static void              removeObject(const QString&  )    /ReleaseGIL/ ;
246   static void              removeChild(const QString& = QString("")  ) /ReleaseGIL/ ;
247   static QStringList       getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
248
249   static QIcon             loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
250   static void              helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
251
252   static bool              dumpView( const QString& ) /ReleaseGIL/ ;
253
254   static int               defaultMenuGroup() /ReleaseGIL/ ;
255
256   static int               createTool( const QString& ) /ReleaseGIL/ ;
257   static int               createTool( const int,  const int,      const int = -1 ) /ReleaseGIL/ ;
258   static int               createTool( const int,  const QString&, const int = -1 ) /ReleaseGIL/ ;
259   static int               createTool( QAction*,   const int,      const int = -1, const int = -1 ) /ReleaseGIL/ ;
260   static int               createTool( QAction*,   const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
261
262   static int               createMenu( const QString&, const int,
263                                        const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
264   static int               createMenu( const QString&, const QString&, 
265                                        const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
266   static int               createMenu( const int,      const int,
267                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
268   static int               createMenu( const int,      const QString&, 
269                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
270   static int               createMenu( QAction*,       const int,      const int = -1, 
271                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
272   static int               createMenu( QAction*,       const QString&, const int = -1, 
273                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
274   static QAction*          createSeparator() /ReleaseGIL/ ;
275
276   static QAction*          createAction( const int, const QString&, 
277                                          const QString& = QString(), const QString& = QString(), 
278                                          const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
279
280   static QtxActionGroup*   createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
281
282   static QAction*          action( const int ) /ReleaseGIL/ ;
283   static int               actionId( const QAction* ) /ReleaseGIL/ ;
284
285   static void              addSetting    ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
286   static void              addSetting    ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
287   static void              addSetting    ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
288   static void              addSetting    ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
289   static void              addSetting    ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
290   static int               integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
291   static double            doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
292   static bool              boolSetting   ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
293   static QString           stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ;
294   static QColor            colorSetting  ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
295   static void              removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
296   static bool              hasSetting    ( const QString&, const QString& ) /ReleaseGIL/ ;
297
298 // obsolete
299   static void              addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
300   static void              addIntSetting   ( const QString&, const int,      bool = true ) /ReleaseGIL/ ;
301   static void              addDoubleSetting( const QString&, const double,   bool = true ) /ReleaseGIL/ ;
302   static void              addBoolSetting  ( const QString&, const bool,     bool = true ) /ReleaseGIL/ ;
303   static void              removeSettings  ( const QString& ) /ReleaseGIL/ ;
304   static QString           getSetting      ( const QString& ) /ReleaseGIL/ ;
305
306   static int               addGlobalPreference( const QString& ) /ReleaseGIL/ ;
307   static int               addPreference( const QString& ) /ReleaseGIL/ ;
308   static int               addPreference( const QString&,
309                                           const int, const int = PT_Auto,
310                                           const QString& = QString(),
311                                           const QString& = QString() ) /ReleaseGIL/ ;
312   static QVariant          preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
313   static void              setPreferenceProperty( const int, 
314                                                   const QString&,
315                                                   const QVariant& ) /ReleaseGIL/ ;
316   static void              addPreferenceProperty( const int, 
317                                                   const QString&, 
318                                                   const int, 
319                                                   const QVariant& ) /ReleaseGIL/ ;
320
321   static void              message( const QString&, bool = true ) /ReleaseGIL/ ;
322   static void              clearMessages() /ReleaseGIL/ ;
323   
324   static QList<int>        getViews() /ReleaseGIL/ ;
325   static int               getActiveView() /ReleaseGIL/ ;
326   static QString           getViewType( const int ) /ReleaseGIL/ ;
327   static bool              setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
328   static QString           getViewTitle( const int ) /ReleaseGIL/ ;
329   static QList<int>        findViews( const QString& ) /ReleaseGIL/ ;
330   static bool              activateView( const int ) /ReleaseGIL/ ;
331   static int               createView( const QString& ) /ReleaseGIL/ ;
332   static int               createView( const QString&, QWidget* ) /ReleaseGIL/ ;
333   static bool              closeView( const int ) /ReleaseGIL/ ;
334   static int               cloneView( const int ) /ReleaseGIL/ ;
335   static bool              isViewVisible( const int id ) /ReleaseGIL/ ;
336   static void              setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
337   static bool              isViewClosable( const int id ) /ReleaseGIL/ ;
338   
339   static bool              groupAllViews() /ReleaseGIL/ ;
340   static bool              splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
341   static bool              moveView( const int, const int, const bool ) /ReleaseGIL/ ;
342   static QList<int>        neighbourViews( const int ) /ReleaseGIL/ ;
343 };