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 QtGui/QtGuimod.sip
32 %Import QtCore/QtCoremod.sip
34 %Import QtWidgets/QtWidgetsmod.sip
39 %Include SalomePyQt_Plot2d.sip
43 #include <QtxAction.h>
44 #include <QtxActionSet.h>
45 #include <QtxActionGroup.h>
46 #include <SalomePyQt.h>
49 class SALOME_Selection : QObject
52 #include <SalomePyQt.h>
56 void Clear() /ReleaseGIL/ ;
57 void ClearIObjects() /ReleaseGIL/ ;
58 void ClearFilters() /ReleaseGIL/ ;
61 SALOME_Selection( QObject* /TransferThis/ );
64 void currentSelectionChanged();
117 class QtxAction : QWidgetAction
120 #include <QtxAction.h>
123 %ConvertToSubClassCode
124 if ( qobject_cast<QtxAction*>( sipCpp ) )
125 sipClass = sipClass_QtxAction;
131 explicit QtxAction( QObject* /TransferThis/ = 0, bool = false );
132 QtxAction( const QString&, const QString&, int, QObject* /TransferThis/, bool = false );
133 QtxAction( const QString&, const QIcon&, const QString&, int, QObject* /TransferThis/, bool = false );
134 virtual ~QtxAction();
137 QtxAction( const QtxAction& );
140 class QtxActionSet : QtxAction
143 #include <QtxActionSet.h>
146 %ConvertToSubClassCode
147 if ( qobject_cast<QtxActionSet*>( sipCpp ) )
148 sipClass = sipClass_QtxActionSet;
154 explicit QtxActionSet( QObject* /TransferThis/ = 0 );
155 virtual ~QtxActionSet();
157 QList<QAction*> actions() const;
158 void setActions( const QList<QAction*>& );
160 void insertActions( const QList<QAction*>&, const int = -1 );
162 int insertAction( QAction*, const int id = -1, const int = -1 );
163 int insertAction( const QString&, const int id = -1, const int = -1 );
164 int insertAction( const QString&, const QIcon&, const int id = -1, const int = -1 );
166 void removeAction( QAction* );
167 void removeAction( const int );
172 void triggered( int );
173 void triggered( QAction* );
176 QtxActionSet( const QtxActionSet& );
179 class QtxActionGroup : QtxActionSet
182 #include <QtxActionGroup.h>
185 %ConvertToSubClassCode
186 if ( qobject_cast<QtxActionGroup*>( sipCpp ) )
187 sipClass = sipClass_QtxActionGroup;
193 explicit QtxActionGroup( QObject* /TransferThis/ = 0 );
194 QtxActionGroup( QObject* /TransferThis/, const bool );
195 virtual ~QtxActionGroup();
197 bool isExclusive() const;
198 bool usesDropDown() const;
200 void add( QAction* );
203 void setExclusive( const bool );
204 void setUsesDropDown( const bool );
207 void selected( QAction* );
210 QtxActionGroup( const QtxActionGroup& );
223 #include <SalomePyQt.h>
227 /* KeepReference is necessary on method getDesktop with SIP >= 4.15.5 to avoid garbage collection of
228 the Python objects added to the desktop. This causes a small memory leak (the wrapper around desktop
229 object is never garbage collected) but since this object contains only references this is not
230 considered a big problem. With versions < 4.15, it seems that this reference was kept implicitly.
231 No proper solution was found for versions between 4.15 and 4.15.4 (included), so those versions
232 should not be used to compile GUI module.
235 static QWidget* getDesktop() /ReleaseGIL,KeepReference/ ;
238 static QWidget* getDesktop() /ReleaseGIL/ ;
241 static QWidget* getMainFrame() /ReleaseGIL/ ;
242 static QMenuBar* getMainMenuBar() /ReleaseGIL/ ;
243 static QMenu* getPopupMenu( const MenuName ) /ReleaseGIL/ ;
244 static QMenu* getPopupMenu( const QString& ) /ReleaseGIL/ ;
245 static QTreeView* getObjectBrowser() /ReleaseGIL/ ;
246 static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ;
247 static int getStudyId() /ReleaseGIL/ ;
248 static void putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
249 static const QString getActiveComponent() /ReleaseGIL/ ;
250 static SIP_PYOBJECT getActivePythonModule() /ReleaseGIL/ ;
251 static bool activateModule( const QString& ) /ReleaseGIL/ ;
252 static void updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
254 static bool isModified() /ReleaseGIL/ ;
255 static void setModified( bool ) /ReleaseGIL/ ;
257 static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
258 static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
259 static QString getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
261 static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ;
262 static QString createObject( const QString&,
265 const QString& = QString("") ) /ReleaseGIL/ ;
267 static void setName(const QString& ,const QString& ) /ReleaseGIL/ ;
268 static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
269 static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
270 static QString getName(const QString& ) /ReleaseGIL/ ;
271 static QString getToolTip(const QString& ) /ReleaseGIL/ ;
273 static void setVisibilityState( const QString&, VisibilityState );
274 static VisibilityState getVisibilityState( const QString& );
276 static void setObjectPosition( const QString&, int );
277 static int getObjectPosition( const QString& );
279 static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
280 static QColor getColor( const QString& ) /ReleaseGIL/ ;
282 static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ;
283 static QString getReference( const QString& ) /ReleaseGIL/ ;
285 static void removeObject(const QString& ) /ReleaseGIL/ ;
286 static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ;
287 static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ;
288 static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
290 static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
291 static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
293 static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ;
295 static int defaultMenuGroup() /ReleaseGIL/ ;
297 static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ;
298 static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ;
299 static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ;
300 static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ;
301 static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
303 static int createMenu( const QString&, const int,
304 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
305 static int createMenu( const QString&, const QString&,
306 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
307 static int createMenu( const int, const int,
308 const int = -1, const int = -1 ) /ReleaseGIL/ ;
309 static int createMenu( const int, const QString&,
310 const int = -1, const int = -1 ) /ReleaseGIL/ ;
311 static int createMenu( QAction*, const int, const int = -1,
312 const int = -1, const int = -1 ) /ReleaseGIL/ ;
313 static int createMenu( QAction*, const QString&, const int = -1,
314 const int = -1, const int = -1 ) /ReleaseGIL/ ;
315 static QAction* createSeparator() /ReleaseGIL/ ;
317 static QAction* createAction( const int, const QString&,
318 const QString& = QString(), const QString& = QString(),
319 const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
321 static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
323 static QAction* action( const int ) /ReleaseGIL/ ;
324 static int actionId( const QAction* ) /ReleaseGIL/ ;
326 static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
327 static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
328 static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
329 static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
330 static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
331 static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
332 static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
333 static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
334 static QString stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ;
335 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
336 static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
337 static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
340 static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
341 static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ;
342 static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ;
343 static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ;
344 static void removeSettings ( const QString& ) /ReleaseGIL/ ;
345 static QString getSetting ( const QString& ) /ReleaseGIL/ ;
347 static int addGlobalPreference( const QString& ) /ReleaseGIL/ ;
348 static int addPreference( const QString& ) /ReleaseGIL/ ;
349 static int addPreference( const QString&,
350 const int, const int = PT_Auto,
351 const QString& = QString(),
352 const QString& = QString() ) /ReleaseGIL/ ;
353 static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
354 static void setPreferenceProperty( const int,
356 const QVariant& ) /ReleaseGIL/ ;
357 static void addPreferenceProperty( const int,
360 const QVariant& ) /ReleaseGIL/ ;
362 static void message( const QString&, bool = true ) /ReleaseGIL/ ;
363 static void clearMessages() /ReleaseGIL/ ;
365 static QList<int> getViews() /ReleaseGIL/ ;
366 static int getActiveView() /ReleaseGIL/ ;
367 static QString getViewType( const int ) /ReleaseGIL/ ;
368 static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
369 static QString getViewTitle( const int ) /ReleaseGIL/ ;
370 static bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ;
371 static QList<int> findViews( const QString& ) /ReleaseGIL/ ;
372 static bool activateView( const int ) /ReleaseGIL/ ;
373 static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ) /ReleaseGIL/ ;
374 static int createView( const QString&, QWidget* ) /ReleaseGIL/ ;
375 static bool closeView( const int ) /ReleaseGIL/ ;
376 static int cloneView( const int ) /ReleaseGIL/ ;
377 static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ;
378 static bool isViewVisible( const int id ) /ReleaseGIL/ ;
379 static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
380 static bool isViewClosable( const int id ) /ReleaseGIL/ ;
382 static bool groupAllViews() /ReleaseGIL/ ;
383 static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
384 static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ;
385 static QList<int> neighbourViews( const int ) /ReleaseGIL/ ;
388 // start Plot2d-related functionality
389 static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
390 static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
391 static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ;
392 static void updateCurves( const int ) /ReleaseGIL/ ;
393 static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ;
394 static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ;
395 static QList<double> getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ;
396 static QList<double> getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ;
397 static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ;
398 // end of Plot2d-related functionality
401 static void processEvents();
403 static void startPyLog(const QString&) /ReleaseGIL/ ;
404 static void stopPyLog() /ReleaseGIL/ ;