1 // Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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, or (at your option) any later version.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : SalomePyQt.sip
23 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
29 %Feature ENABLE_PLOT2D
31 %Import QtCore/QtCoremod.sip
32 %Import QtGui/QtGuimod.sip
34 %Import QtWidgets/QtWidgetsmod.sip
36 %Import QtXml/QtXmlmod.sip
39 %Include SalomePyQt_Plot2d.sip
43 #include <QtxAction.h>
44 #include <QtxActionSet.h>
45 #include <QtxActionGroup.h>
46 #include <QtxTreeView.h>
47 #include <SalomePyQt.h>
50 class SALOME_Selection : QObject
53 #include <SalomePyQt.h>
57 void Clear() /ReleaseGIL/ ;
58 void ClearIObjects() /ReleaseGIL/ ;
59 void ClearFilters() /ReleaseGIL/ ;
62 SALOME_Selection( QObject* /TransferThis/ );
65 void currentSelectionChanged();
118 class QtxAction : QWidgetAction
121 #include <QtxAction.h>
124 %ConvertToSubClassCode
125 if ( qobject_cast<QtxAction*>( sipCpp ) )
126 sipClass = sipClass_QtxAction;
132 explicit QtxAction( QObject* /TransferThis/ = 0, bool = false );
133 QtxAction( const QString&, const QString&, int, QObject* /TransferThis/, bool = false );
134 QtxAction( const QString&, const QIcon&, const QString&, int, QObject* /TransferThis/, bool = false );
135 virtual ~QtxAction();
138 QtxAction( const QtxAction& );
141 class QtxActionSet : QtxAction
144 #include <QtxActionSet.h>
147 %ConvertToSubClassCode
148 if ( qobject_cast<QtxActionSet*>( sipCpp ) )
149 sipClass = sipClass_QtxActionSet;
155 explicit QtxActionSet( QObject* /TransferThis/ = 0 );
156 virtual ~QtxActionSet();
158 QList<QAction*> actions() const;
159 void setActions( const QList<QAction*>& );
161 void insertActions( const QList<QAction*>&, const int = -1 );
163 int insertAction( QAction*, const int id = -1, const int = -1 );
164 int insertAction( const QString&, const int id = -1, const int = -1 );
165 int insertAction( const QString&, const QIcon&, const int id = -1, const int = -1 );
167 void removeAction( QAction* );
168 void removeAction( const int );
173 void triggered( int );
174 void triggered( QAction* );
177 QtxActionSet( const QtxActionSet& );
180 class QtxActionGroup : QtxActionSet
183 #include <QtxActionGroup.h>
186 %ConvertToSubClassCode
187 if ( qobject_cast<QtxActionGroup*>( sipCpp ) )
188 sipClass = sipClass_QtxActionGroup;
194 explicit QtxActionGroup( QObject* /TransferThis/ = 0 );
195 QtxActionGroup( QObject* /TransferThis/, const bool );
196 virtual ~QtxActionGroup();
198 bool isExclusive() const;
199 bool usesDropDown() const;
201 void add( QAction* );
204 void setExclusive( const bool );
205 void setUsesDropDown( const bool );
208 void selected( QAction* );
211 QtxActionGroup( const QtxActionGroup& );
214 class QtxTreeView : public QTreeView
217 #include <QtxTreeView.h>
220 %ConvertToSubClassCode
221 if ( qobject_cast<QtxTreeView*>( sipCpp ) )
222 sipClass = sipClass_QtxTreeView;
228 explicit QtxTreeView( QWidget* /TransferThis/ = 0 );
229 QtxTreeView( const bool, QWidget* /TransferThis/ = 0 );
230 virtual ~QtxTreeView();
233 void sortingEnabled( bool );
234 void selectionChanged();
237 QtxTreeView( const QtxTreeView& );
250 #include <SalomePyQt.h>
254 /* KeepReference is necessary on method getDesktop with SIP >= 4.15.5 to avoid garbage collection of
255 the Python objects added to the desktop. This causes a small memory leak (the wrapper around desktop
256 object is never garbage collected) but since this object contains only references this is not
257 considered a big problem. With versions < 4.15, it seems that this reference was kept implicitly.
258 No proper solution was found for versions between 4.15 and 4.15.4 (included), so those versions
259 should not be used to compile GUI module.
262 static QWidget* getDesktop() /ReleaseGIL,KeepReference/ ;
265 static QWidget* getDesktop() /ReleaseGIL/ ;
268 static QWidget* getMainFrame() /ReleaseGIL/ ;
269 static QMenuBar* getMainMenuBar() /ReleaseGIL/ ;
270 static QMenu* getPopupMenu( const MenuName ) /ReleaseGIL/ ;
271 static QMenu* getPopupMenu( const QString& ) /ReleaseGIL/ ;
272 static QTreeView* getObjectBrowser() /ReleaseGIL/ ;
273 static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ;
274 static int getStudyId() /ReleaseGIL/ ;
275 static void putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
276 static const QString getActiveComponent() /ReleaseGIL/ ;
277 static SIP_PYOBJECT getActivePythonModule() /ReleaseGIL/ ;
278 static bool activateModule( const QString& ) /ReleaseGIL/ ;
279 static void updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
281 static bool isModified() /ReleaseGIL/ ;
282 static void setModified( bool ) /ReleaseGIL/ ;
284 static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
285 static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
286 static QString getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
288 static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ;
289 static QString createObject( const QString&,
292 const QString& = QString("") ) /ReleaseGIL/ ;
294 static void setName(const QString& ,const QString& ) /ReleaseGIL/ ;
295 static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
296 static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
297 static QString getName(const QString& ) /ReleaseGIL/ ;
298 static QString getToolTip(const QString& ) /ReleaseGIL/ ;
300 static void setVisibilityState( const QString&, VisibilityState );
301 static VisibilityState getVisibilityState( const QString& );
303 static void setObjectPosition( const QString&, int );
304 static int getObjectPosition( const QString& );
306 static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
307 static QColor getColor( const QString& ) /ReleaseGIL/ ;
309 static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ;
310 static QString getReference( const QString& ) /ReleaseGIL/ ;
312 static void removeObject(const QString& ) /ReleaseGIL/ ;
313 static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ;
314 static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ;
315 static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
317 static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
318 static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
320 static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ;
322 static int defaultMenuGroup() /ReleaseGIL/ ;
324 static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ;
325 static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ;
326 static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ;
327 static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ;
328 static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
330 static int createMenu( const QString&, const int,
331 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
332 static int createMenu( const QString&, const QString&,
333 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
334 static int createMenu( const int, const int,
335 const int = -1, const int = -1 ) /ReleaseGIL/ ;
336 static int createMenu( const int, const QString&,
337 const int = -1, const int = -1 ) /ReleaseGIL/ ;
338 static int createMenu( QAction*, const int, const int = -1,
339 const int = -1, const int = -1 ) /ReleaseGIL/ ;
340 static int createMenu( QAction*, const QString&, const int = -1,
341 const int = -1, const int = -1 ) /ReleaseGIL/ ;
342 static QAction* createSeparator() /ReleaseGIL/ ;
344 static QAction* createAction( const int, const QString&,
345 const QString& = QString(), const QString& = QString(),
346 const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
348 static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
350 static QAction* action( const int ) /ReleaseGIL/ ;
351 static int actionId( const QAction* ) /ReleaseGIL/ ;
353 static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
354 static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
355 static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
356 static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
357 static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
358 static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
359 static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
360 static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
361 static QString stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ;
362 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
363 static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
364 static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
367 static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
368 static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ;
369 static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ;
370 static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ;
371 static void removeSettings ( const QString& ) /ReleaseGIL/ ;
372 static QString getSetting ( const QString& ) /ReleaseGIL/ ;
374 static int addGlobalPreference( const QString& ) /ReleaseGIL/ ;
375 static int addPreference( const QString& ) /ReleaseGIL/ ;
376 static int addPreference( const QString&,
377 const int, const int = PT_Auto,
378 const QString& = QString(),
379 const QString& = QString() ) /ReleaseGIL/ ;
380 static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
381 static void setPreferenceProperty( const int,
383 const QVariant& ) /ReleaseGIL/ ;
384 static void addPreferenceProperty( const int,
387 const QVariant& ) /ReleaseGIL/ ;
389 static void message( const QString&, bool = true ) /ReleaseGIL/ ;
390 static void clearMessages() /ReleaseGIL/ ;
392 static QList<int> getViews() /ReleaseGIL/ ;
393 static int getActiveView() /ReleaseGIL/ ;
394 static QString getViewType( const int ) /ReleaseGIL/ ;
395 static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
396 static QString getViewTitle( const int ) /ReleaseGIL/ ;
397 static bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ;
398 static QList<int> findViews( const QString& ) /ReleaseGIL/ ;
399 static bool activateView( const int ) /ReleaseGIL/ ;
400 static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ) /ReleaseGIL/ ;
401 static int createView( const QString&, QWidget* ) /ReleaseGIL/ ;
402 static bool closeView( const int ) /ReleaseGIL/ ;
403 static int cloneView( const int ) /ReleaseGIL/ ;
404 static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ;
405 static bool isViewVisible( const int id ) /ReleaseGIL/ ;
406 static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
407 static bool isViewClosable( const int id ) /ReleaseGIL/ ;
409 static bool groupAllViews() /ReleaseGIL/ ;
410 static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
411 static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ;
412 static QList<int> neighbourViews( const int ) /ReleaseGIL/ ;
415 // start Plot2d-related functionality
416 static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
417 static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
418 static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ;
419 static void updateCurves( const int ) /ReleaseGIL/ ;
420 static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ;
421 static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ;
422 static QList<double> getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ;
423 static QList<double> getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ;
424 static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ;
425 // end of Plot2d-related functionality
428 static void processEvents();
430 static void startPyLog(const QString&) /ReleaseGIL/ ;
431 static void stopPyLog() /ReleaseGIL/ ;