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 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 void createRoot() /ReleaseGIL/ ;
289 static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ;
290 static QString createObject( const QString&,
293 const QString& = QString("") ) /ReleaseGIL/ ;
295 static void setName(const QString& ,const QString& ) /ReleaseGIL/ ;
296 static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
297 static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
298 static QString getName(const QString& ) /ReleaseGIL/ ;
299 static QString getToolTip(const QString& ) /ReleaseGIL/ ;
301 static void setVisibilityState( const QString&, VisibilityState );
302 static VisibilityState getVisibilityState( const QString& );
304 static void setObjectPosition( const QString&, int );
305 static int getObjectPosition( const QString& );
307 static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
308 static QColor getColor( const QString& ) /ReleaseGIL/ ;
310 static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ;
311 static QString getReference( const QString& ) /ReleaseGIL/ ;
313 static void removeObject(const QString& ) /ReleaseGIL/ ;
314 static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ;
315 static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ;
316 static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
318 static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
319 static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
321 static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ;
323 static int defaultMenuGroup() /ReleaseGIL/ ;
325 static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ;
326 static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ;
327 static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ;
328 static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ;
329 static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
331 static int createMenu( const QString&, const int,
332 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
333 static int createMenu( const QString&, const QString&,
334 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
335 static int createMenu( const int, const int,
336 const int = -1, const int = -1 ) /ReleaseGIL/ ;
337 static int createMenu( const int, const QString&,
338 const int = -1, const int = -1 ) /ReleaseGIL/ ;
339 static int createMenu( QAction*, const int, const int = -1,
340 const int = -1, const int = -1 ) /ReleaseGIL/ ;
341 static int createMenu( QAction*, const QString&, const int = -1,
342 const int = -1, const int = -1 ) /ReleaseGIL/ ;
343 static QAction* createSeparator() /ReleaseGIL/ ;
345 static QAction* createAction( const int, const QString&,
346 const QString& = QString(), const QString& = QString(),
347 const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
349 static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
351 static QAction* action( const int ) /ReleaseGIL/ ;
352 static int actionId( const QAction* ) /ReleaseGIL/ ;
354 static QString constant ( const QString& ) /ReleaseGIL/ ;
355 static void setConstant ( const QString&, const QString& ) /ReleaseGIL/ ;
356 static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
357 static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
358 static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
359 static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
360 static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
361 static void addSetting ( const QString&, const QString&, const QByteArray& ) /ReleaseGIL/ ;
362 static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
363 static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
364 static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
365 static QString stringSetting ( const QString&, const QString&, const QString& = QString(""), const bool = true ) /ReleaseGIL/ ;
366 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
367 static QByteArray byteArraySetting( const QString&, const QString&, const QByteArray& = QByteArray() ) /ReleaseGIL/ ;
368 static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
369 static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
370 static QStringList parameters ( const QString& ) /ReleaseGIL/ ;
371 static QStringList parameters ( const QStringList& ) /ReleaseGIL/ ;
374 static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
375 static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ;
376 static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ;
377 static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ;
378 static void removeSettings ( const QString& ) /ReleaseGIL/ ;
379 static QString getSetting ( const QString& ) /ReleaseGIL/ ;
381 static int addGlobalPreference( const QString& ) /ReleaseGIL/ ;
382 static int addPreference( const QString& ) /ReleaseGIL/ ;
383 static int addPreference( const QString&,
384 const int, const int = PT_Auto,
385 const QString& = QString(),
386 const QString& = QString() ) /ReleaseGIL/ ;
387 static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
388 static void setPreferenceProperty( const int,
390 const QVariant& ) /ReleaseGIL/ ;
391 static void addPreferenceProperty( const int,
394 const QVariant& ) /ReleaseGIL/ ;
396 static void message( const QString&, bool = true ) /ReleaseGIL/ ;
397 static void clearMessages() /ReleaseGIL/ ;
399 static QList<int> getViews() /ReleaseGIL/ ;
400 static int getActiveView() /ReleaseGIL/ ;
401 static QString getViewType( const int ) /ReleaseGIL/ ;
402 static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
403 static QString getViewTitle( const int ) /ReleaseGIL/ ;
404 static bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ;
405 static QList<int> findViews( const QString& ) /ReleaseGIL/ ;
406 static bool activateView( const int ) /ReleaseGIL/ ;
407 static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ) /ReleaseGIL/ ;
408 static int createView( const QString&, QWidget* ) /ReleaseGIL/ ;
409 static bool closeView( const int ) /ReleaseGIL/ ;
410 static int cloneView( const int ) /ReleaseGIL/ ;
411 static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ;
412 static bool isViewVisible( const int id ) /ReleaseGIL/ ;
413 static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
414 static bool isViewClosable( const int id ) /ReleaseGIL/ ;
416 static bool groupAllViews() /ReleaseGIL/ ;
417 static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
418 static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ;
419 static QList<int> neighbourViews( const int ) /ReleaseGIL/ ;
422 // start Plot2d-related functionality
423 static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
424 static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
425 static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ;
426 static void updateCurves( const int ) /ReleaseGIL/ ;
427 static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ;
428 static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ;
429 static QList<double> getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ;
430 static QList<double> getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ;
431 static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ;
432 // end of Plot2d-related functionality
435 static void processEvents();
437 static void startPyLog(const QString&) /ReleaseGIL/ ;
438 static void stopPyLog() /ReleaseGIL/ ;