Salome HOME
Merge from V6_main 01/04/2013
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.sip
1 // Copyright (C) 2007-2013  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              removeChildren(const QString& = QString("")  ) /ReleaseGIL/ ;
247   static void              removeChild(const QString& = QString("")  ) /ReleaseGIL/ ;
248   static QStringList       getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
249
250   static QIcon             loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
251   static void              helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
252
253   static bool              dumpView( const QString& ) /ReleaseGIL/ ;
254
255   static int               defaultMenuGroup() /ReleaseGIL/ ;
256
257   static int               createTool( const QString& ) /ReleaseGIL/ ;
258   static int               createTool( const int,  const int,      const int = -1 ) /ReleaseGIL/ ;
259   static int               createTool( const int,  const QString&, const int = -1 ) /ReleaseGIL/ ;
260   static int               createTool( QAction*,   const int,      const int = -1, const int = -1 ) /ReleaseGIL/ ;
261   static int               createTool( QAction*,   const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
262
263   static int               createMenu( const QString&, const int,
264                                        const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
265   static int               createMenu( const QString&, const QString&, 
266                                        const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
267   static int               createMenu( const int,      const int,
268                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
269   static int               createMenu( const int,      const QString&, 
270                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
271   static int               createMenu( QAction*,       const int,      const int = -1, 
272                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
273   static int               createMenu( QAction*,       const QString&, const int = -1, 
274                                        const int = -1, const int = -1 ) /ReleaseGIL/ ;
275   static QAction*          createSeparator() /ReleaseGIL/ ;
276
277   static QAction*          createAction( const int, const QString&, 
278                                          const QString& = QString(), const QString& = QString(), 
279                                          const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
280
281   static QtxActionGroup*   createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
282
283   static QAction*          action( const int ) /ReleaseGIL/ ;
284   static int               actionId( const QAction* ) /ReleaseGIL/ ;
285
286   static void              addSetting    ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
287   static void              addSetting    ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
288   static void              addSetting    ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
289   static void              addSetting    ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
290   static void              addSetting    ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
291   static int               integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
292   static double            doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
293   static bool              boolSetting   ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
294   static QString           stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ;
295   static QColor            colorSetting  ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
296   static void              removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
297   static bool              hasSetting    ( const QString&, const QString& ) /ReleaseGIL/ ;
298
299 // obsolete
300   static void              addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
301   static void              addIntSetting   ( const QString&, const int,      bool = true ) /ReleaseGIL/ ;
302   static void              addDoubleSetting( const QString&, const double,   bool = true ) /ReleaseGIL/ ;
303   static void              addBoolSetting  ( const QString&, const bool,     bool = true ) /ReleaseGIL/ ;
304   static void              removeSettings  ( const QString& ) /ReleaseGIL/ ;
305   static QString           getSetting      ( const QString& ) /ReleaseGIL/ ;
306
307   static int               addGlobalPreference( const QString& ) /ReleaseGIL/ ;
308   static int               addPreference( const QString& ) /ReleaseGIL/ ;
309   static int               addPreference( const QString&,
310                                           const int, const int = PT_Auto,
311                                           const QString& = QString(),
312                                           const QString& = QString() ) /ReleaseGIL/ ;
313   static QVariant          preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
314   static void              setPreferenceProperty( const int, 
315                                                   const QString&,
316                                                   const QVariant& ) /ReleaseGIL/ ;
317   static void              addPreferenceProperty( const int, 
318                                                   const QString&, 
319                                                   const int, 
320                                                   const QVariant& ) /ReleaseGIL/ ;
321
322   static void              message( const QString&, bool = true ) /ReleaseGIL/ ;
323   static void              clearMessages() /ReleaseGIL/ ;
324   
325   static QList<int>        getViews() /ReleaseGIL/ ;
326   static int               getActiveView() /ReleaseGIL/ ;
327   static QString           getViewType( const int ) /ReleaseGIL/ ;
328   static bool              setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
329   static QString           getViewTitle( const int ) /ReleaseGIL/ ;
330   static QList<int>        findViews( const QString& ) /ReleaseGIL/ ;
331   static bool              activateView( const int ) /ReleaseGIL/ ;
332   static int               createView( const QString& ) /ReleaseGIL/ ;
333   static int               createView( const QString&, QWidget* ) /ReleaseGIL/ ;
334   static bool              closeView( const int ) /ReleaseGIL/ ;
335   static int               cloneView( const int ) /ReleaseGIL/ ;
336   static bool              isViewVisible( const int id ) /ReleaseGIL/ ;
337   static void              setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
338   static bool              isViewClosable( const int id ) /ReleaseGIL/ ;
339   
340   static bool              groupAllViews() /ReleaseGIL/ ;
341   static bool              splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
342   static bool              moveView( const int, const int, const bool ) /ReleaseGIL/ ;
343   static QList<int>        neighbourViews( const int ) /ReleaseGIL/ ;
344 };