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 void enableSelector() /ReleaseGIL/ ;
274 static void disableSelector() /ReleaseGIL/ ;
275 static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ;
276 static void setSelection( const QStringList& ) /ReleaseGIL/ ;
277 static int getStudyId() /ReleaseGIL/ ;
278 static void putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
279 static const QString getActiveComponent() /ReleaseGIL/ ;
280 static SIP_PYOBJECT getActivePythonModule() /ReleaseGIL/ ;
281 static bool activateModule( const QString& ) /ReleaseGIL/ ;
282 static void updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
284 static bool isModified() /ReleaseGIL/ ;
285 static void setModified( bool ) /ReleaseGIL/ ;
287 static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
288 static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
289 static QString getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
291 static void createRoot() /ReleaseGIL/ ;
292 static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ;
293 static QString createObject( const QString&,
296 const QString& = QString("") ) /ReleaseGIL/ ;
298 static void setName(const QString& ,const QString& ) /ReleaseGIL/ ;
299 static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
300 static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
301 static QString getName(const QString& ) /ReleaseGIL/ ;
302 static QString getToolTip(const QString& ) /ReleaseGIL/ ;
304 static void setVisibilityState( const QString&, VisibilityState );
305 static VisibilityState getVisibilityState( const QString& );
307 static void setObjectPosition( const QString&, int );
308 static int getObjectPosition( const QString& );
310 static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
311 static QColor getColor( const QString& ) /ReleaseGIL/ ;
313 static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ;
314 static QString getReference( const QString& ) /ReleaseGIL/ ;
316 static void removeObject(const QString& ) /ReleaseGIL/ ;
317 static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ;
318 static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ;
319 static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
321 static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
322 static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
324 static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ;
326 static int defaultMenuGroup() /ReleaseGIL/ ;
328 static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ;
329 static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ;
330 static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ;
331 static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ;
332 static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
334 static int createMenu( const QString&, const int,
335 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
336 static int createMenu( const QString&, const QString&,
337 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
338 static int createMenu( const int, const int,
339 const int = -1, const int = -1 ) /ReleaseGIL/ ;
340 static int createMenu( const int, const QString&,
341 const int = -1, const int = -1 ) /ReleaseGIL/ ;
342 static int createMenu( QAction*, const int, const int = -1,
343 const int = -1, const int = -1 ) /ReleaseGIL/ ;
344 static int createMenu( QAction*, const QString&, const int = -1,
345 const int = -1, const int = -1 ) /ReleaseGIL/ ;
346 static QAction* createSeparator() /ReleaseGIL/ ;
348 static QAction* createAction( const int, const QString&,
349 const QString& = QString(), const QString& = QString(),
350 const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
352 static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
354 static QAction* action( const int ) /ReleaseGIL/ ;
355 static int actionId( const QAction* ) /ReleaseGIL/ ;
357 static QString constant ( const QString& ) /ReleaseGIL/ ;
358 static void setConstant ( const QString&, const QString& ) /ReleaseGIL/ ;
359 static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
360 static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
361 static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
362 static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
363 static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
364 static void addSetting ( const QString&, const QString&, const QByteArray& ) /ReleaseGIL/ ;
365 static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
366 static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
367 static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
368 static QString stringSetting ( const QString&, const QString&, const QString& = QString(""), const bool = true ) /ReleaseGIL/ ;
369 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
370 static QByteArray byteArraySetting( const QString&, const QString&, const QByteArray& = QByteArray() ) /ReleaseGIL/ ;
371 static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
372 static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
373 static QStringList parameters ( const QString& ) /ReleaseGIL/ ;
374 static QStringList parameters ( const QStringList& ) /ReleaseGIL/ ;
377 static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
378 static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ;
379 static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ;
380 static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ;
381 static void removeSettings ( const QString& ) /ReleaseGIL/ ;
382 static QString getSetting ( const QString& ) /ReleaseGIL/ ;
384 static int addGlobalPreference( const QString& ) /ReleaseGIL/ ;
385 static int addPreference( const QString& ) /ReleaseGIL/ ;
386 static int addPreference( const QString&,
387 const int, const int = PT_Auto,
388 const QString& = QString(),
389 const QString& = QString() ) /ReleaseGIL/ ;
390 static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
391 static void setPreferenceProperty( const int,
393 const QVariant& ) /ReleaseGIL/ ;
394 static void addPreferenceProperty( const int,
397 const QVariant& ) /ReleaseGIL/ ;
399 static void message( const QString&, bool = true ) /ReleaseGIL/ ;
400 static void clearMessages() /ReleaseGIL/ ;
402 static QList<int> getViews() /ReleaseGIL/ ;
403 static int getActiveView() /ReleaseGIL/ ;
404 static QString getViewType( const int ) /ReleaseGIL/ ;
405 static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
406 static QString getViewTitle( const int ) /ReleaseGIL/ ;
407 static bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ;
408 static QList<int> findViews( const QString& ) /ReleaseGIL/ ;
409 static bool activateView( const int ) /ReleaseGIL/ ;
410 static bool activateViewManagerAndView( const int ) /ReleaseGIL/ ;
411 static QWidget* getViewWidget( const int ) /ReleaseGIL/ ;
412 static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0, bool detached = false ) /ReleaseGIL/ ;
413 static int createView( const QString&, QWidget* ) /ReleaseGIL/ ;
414 static bool closeView( const int ) /ReleaseGIL/ ;
415 static int cloneView( const int ) /ReleaseGIL/ ;
416 static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ;
417 static bool isViewVisible( const int id ) /ReleaseGIL/ ;
418 static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
419 static bool isViewClosable( const int id ) /ReleaseGIL/ ;
421 static bool groupAllViews() /ReleaseGIL/ ;
422 static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
423 static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ;
424 static QList<int> neighbourViews( const int ) /ReleaseGIL/ ;
427 // start Plot2d-related functionality
428 static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
429 static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
430 static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ;
431 static void updateCurves( const int ) /ReleaseGIL/ ;
432 static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ;
433 static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ;
434 static QList<double> getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ;
435 static QList<double> getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ;
436 static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ;
437 // end of Plot2d-related functionality
440 static void processEvents();
442 static void startPyLog(const QString&) /ReleaseGIL/ ;
443 static void stopPyLog() /ReleaseGIL/ ;