1 // Copyright (C) 2007-2016 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 void setSelection( const QStringList& ) /ReleaseGIL/ ;
275 static int getStudyId() /ReleaseGIL/ ;
276 static void putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
277 static const QString getActiveComponent() /ReleaseGIL/ ;
278 static SIP_PYOBJECT getActivePythonModule() /ReleaseGIL/ ;
279 static bool activateModule( const QString& ) /ReleaseGIL/ ;
280 static void updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
282 static bool isModified() /ReleaseGIL/ ;
283 static void setModified( bool ) /ReleaseGIL/ ;
285 static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
286 static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
287 static QString getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
289 static void createRoot() /ReleaseGIL/ ;
290 static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ;
291 static QString createObject( const QString&,
294 const QString& = QString("") ) /ReleaseGIL/ ;
296 static void setName(const QString& ,const QString& ) /ReleaseGIL/ ;
297 static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
298 static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
299 static QString getName(const QString& ) /ReleaseGIL/ ;
300 static QString getToolTip(const QString& ) /ReleaseGIL/ ;
302 static void setVisibilityState( const QString&, VisibilityState );
303 static VisibilityState getVisibilityState( const QString& );
305 static void setObjectPosition( const QString&, int );
306 static int getObjectPosition( const QString& );
308 static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
309 static QColor getColor( const QString& ) /ReleaseGIL/ ;
311 static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ;
312 static QString getReference( const QString& ) /ReleaseGIL/ ;
314 static void removeObject(const QString& ) /ReleaseGIL/ ;
315 static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ;
316 static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ;
317 static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
319 static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
320 static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
322 static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ;
324 static int defaultMenuGroup() /ReleaseGIL/ ;
326 static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ;
327 static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ;
328 static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ;
329 static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ;
330 static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
332 static int createMenu( const QString&, const int,
333 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
334 static int createMenu( const QString&, const QString&,
335 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
336 static int createMenu( const int, const int,
337 const int = -1, const int = -1 ) /ReleaseGIL/ ;
338 static int createMenu( const int, const QString&,
339 const int = -1, const int = -1 ) /ReleaseGIL/ ;
340 static int createMenu( QAction*, const int, const int = -1,
341 const int = -1, const int = -1 ) /ReleaseGIL/ ;
342 static int createMenu( QAction*, const QString&, const int = -1,
343 const int = -1, const int = -1 ) /ReleaseGIL/ ;
344 static QAction* createSeparator() /ReleaseGIL/ ;
346 static QAction* createAction( const int, const QString&,
347 const QString& = QString(), const QString& = QString(),
348 const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
350 static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
352 static QAction* action( const int ) /ReleaseGIL/ ;
353 static int actionId( const QAction* ) /ReleaseGIL/ ;
355 static QString constant ( const QString& ) /ReleaseGIL/ ;
356 static void setConstant ( const QString&, const QString& ) /ReleaseGIL/ ;
357 static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
358 static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
359 static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
360 static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
361 static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
362 static void addSetting ( const QString&, const QString&, const QByteArray& ) /ReleaseGIL/ ;
363 static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
364 static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
365 static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
366 static QString stringSetting ( const QString&, const QString&, const QString& = QString(""), const bool = true ) /ReleaseGIL/ ;
367 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
368 static QByteArray byteArraySetting( const QString&, const QString&, const QByteArray& = QByteArray() ) /ReleaseGIL/ ;
369 static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
370 static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
371 static QStringList parameters ( const QString& ) /ReleaseGIL/ ;
372 static QStringList parameters ( const QStringList& ) /ReleaseGIL/ ;
375 static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
376 static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ;
377 static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ;
378 static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ;
379 static void removeSettings ( const QString& ) /ReleaseGIL/ ;
380 static QString getSetting ( const QString& ) /ReleaseGIL/ ;
382 static int addGlobalPreference( const QString& ) /ReleaseGIL/ ;
383 static int addPreference( const QString& ) /ReleaseGIL/ ;
384 static int addPreference( const QString&,
385 const int, const int = PT_Auto,
386 const QString& = QString(),
387 const QString& = QString() ) /ReleaseGIL/ ;
388 static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
389 static void setPreferenceProperty( const int,
391 const QVariant& ) /ReleaseGIL/ ;
392 static void addPreferenceProperty( const int,
395 const QVariant& ) /ReleaseGIL/ ;
397 static void message( const QString&, bool = true ) /ReleaseGIL/ ;
398 static void clearMessages() /ReleaseGIL/ ;
400 static QList<int> getViews() /ReleaseGIL/ ;
401 static int getActiveView() /ReleaseGIL/ ;
402 static QString getViewType( const int ) /ReleaseGIL/ ;
403 static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
404 static QString getViewTitle( const int ) /ReleaseGIL/ ;
405 static bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ;
406 static QList<int> findViews( const QString& ) /ReleaseGIL/ ;
407 static bool activateView( const int ) /ReleaseGIL/ ;
408 static bool activateViewManagerAndView( const int ) /ReleaseGIL/ ;
409 static QWidget* getViewWidget( const int ) /ReleaseGIL/ ;
410 static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ) /ReleaseGIL/ ;
411 static int createView( const QString&, QWidget* ) /ReleaseGIL/ ;
412 static bool closeView( const int ) /ReleaseGIL/ ;
413 static int cloneView( const int ) /ReleaseGIL/ ;
414 static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ;
415 static bool isViewVisible( const int id ) /ReleaseGIL/ ;
416 static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
417 static bool isViewClosable( const int id ) /ReleaseGIL/ ;
419 static bool groupAllViews() /ReleaseGIL/ ;
420 static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
421 static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ;
422 static QList<int> neighbourViews( const int ) /ReleaseGIL/ ;
425 // start Plot2d-related functionality
426 static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
427 static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
428 static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ;
429 static void updateCurves( const int ) /ReleaseGIL/ ;
430 static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ;
431 static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ;
432 static QList<double> getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ;
433 static QList<double> getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ;
434 static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ;
435 // end of Plot2d-related functionality
438 static void processEvents();
440 static void startPyLog(const QString&) /ReleaseGIL/ ;
441 static void stopPyLog() /ReleaseGIL/ ;