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
35 %Include SalomePyQt_Plot2d.sip
39 #include <QtxAction.h>
40 #include <QtxActionSet.h>
41 #include <QtxActionGroup.h>
42 #include <SalomePyQt.h>
45 class SALOME_Selection : QObject
48 #include <SalomePyQt.h>
52 void Clear() /ReleaseGIL/ ;
53 void ClearIObjects() /ReleaseGIL/ ;
54 void ClearFilters() /ReleaseGIL/ ;
57 SALOME_Selection( QObject* /TransferThis/ );
60 void currentSelectionChanged();
113 class QtxAction : QWidgetAction
116 #include <QtxAction.h>
119 %ConvertToSubClassCode
120 if ( qobject_cast<QtxAction*>( sipCpp ) )
121 sipClass = sipClass_QtxAction;
127 explicit QtxAction( QObject* /TransferThis/ = 0, bool = false );
128 QtxAction( const QString&, const QString&, int, QObject* /TransferThis/, bool = false );
129 QtxAction( const QString&, const QIcon&, const QString&, int, QObject* /TransferThis/, bool = false );
130 virtual ~QtxAction();
133 QtxAction( const QtxAction& );
136 class QtxActionSet : QtxAction
139 #include <QtxActionSet.h>
142 %ConvertToSubClassCode
143 if ( qobject_cast<QtxActionSet*>( sipCpp ) )
144 sipClass = sipClass_QtxActionSet;
150 explicit QtxActionSet( QObject* /TransferThis/ = 0 );
151 virtual ~QtxActionSet();
153 QList<QAction*> actions() const;
154 void setActions( const QList<QAction*>& );
156 void insertActions( const QList<QAction*>&, const int = -1 );
158 int insertAction( QAction*, const int id = -1, const int = -1 );
159 int insertAction( const QString&, const int id = -1, const int = -1 );
160 int insertAction( const QString&, const QIcon&, const int id = -1, const int = -1 );
162 void removeAction( QAction* );
163 void removeAction( const int );
168 void triggered( int );
169 void triggered( QAction* );
172 QtxActionSet( const QtxActionSet& );
175 class QtxActionGroup : QtxActionSet
178 #include <QtxActionGroup.h>
181 %ConvertToSubClassCode
182 if ( qobject_cast<QtxActionGroup*>( sipCpp ) )
183 sipClass = sipClass_QtxActionGroup;
189 explicit QtxActionGroup( QObject* /TransferThis/ = 0 );
190 QtxActionGroup( QObject* /TransferThis/, const bool );
191 virtual ~QtxActionGroup();
193 bool isExclusive() const;
194 bool usesDropDown() const;
196 void add( QAction* );
199 void setExclusive( const bool );
200 void setUsesDropDown( const bool );
203 void selected( QAction* );
206 QtxActionGroup( const QtxActionGroup& );
219 #include <SalomePyQt.h>
223 /* KeepReference is necessary on method getDesktop with SIP >= 4.15.5 to avoid garbage collection of
224 the Python objects added to the desktop. This causes a small memory leak (the wrapper around desktop
225 object is never garbage collected) but since this object contains only references this is not
226 considered a big problem. With versions < 4.15, it seems that this reference was kept implicitly.
227 No proper solution was found for versions between 4.15 and 4.15.4 (included), so those versions
228 should not be used to compile GUI module.
231 static QWidget* getDesktop() /ReleaseGIL,KeepReference/ ;
234 static QWidget* getDesktop() /ReleaseGIL/ ;
237 static QWidget* getMainFrame() /ReleaseGIL/ ;
238 static QMenuBar* getMainMenuBar() /ReleaseGIL/ ;
239 static QMenu* getPopupMenu( const MenuName ) /ReleaseGIL/ ;
240 static QMenu* getPopupMenu( const QString& ) /ReleaseGIL/ ;
241 static QTreeView* getObjectBrowser() /ReleaseGIL/ ;
242 static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ;
243 static int getStudyId() /ReleaseGIL/ ;
244 static void putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
245 static const QString getActiveComponent() /ReleaseGIL/ ;
246 static SIP_PYOBJECT getActivePythonModule() /ReleaseGIL/ ;
247 static bool activateModule( const QString& ) /ReleaseGIL/ ;
248 static void updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
250 static bool isModified() /ReleaseGIL/ ;
251 static void setModified( bool ) /ReleaseGIL/ ;
253 static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;
254 static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ;
255 static QString getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ;
257 static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ;
258 static QString createObject( const QString&,
261 const QString& = QString("") ) /ReleaseGIL/ ;
263 static void setName(const QString& ,const QString& ) /ReleaseGIL/ ;
264 static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ;
265 static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ;
266 static QString getName(const QString& ) /ReleaseGIL/ ;
267 static QString getToolTip(const QString& ) /ReleaseGIL/ ;
269 static void setVisibilityState( const QString&, VisibilityState );
270 static VisibilityState getVisibilityState( const QString& );
272 static void setObjectPosition( const QString&, int );
273 static int getObjectPosition( const QString& );
275 static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ;
276 static QColor getColor( const QString& ) /ReleaseGIL/ ;
278 static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ;
279 static QString getReference( const QString& ) /ReleaseGIL/ ;
281 static void removeObject(const QString& ) /ReleaseGIL/ ;
282 static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ;
283 static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ;
284 static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ;
286 static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ;
287 static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ;
289 static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ;
291 static int defaultMenuGroup() /ReleaseGIL/ ;
293 static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ;
294 static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ;
295 static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ;
296 static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ;
297 static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ;
299 static int createMenu( const QString&, const int,
300 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
301 static int createMenu( const QString&, const QString&,
302 const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ;
303 static int createMenu( const int, const int,
304 const int = -1, const int = -1 ) /ReleaseGIL/ ;
305 static int createMenu( const int, const QString&,
306 const int = -1, const int = -1 ) /ReleaseGIL/ ;
307 static int createMenu( QAction*, const int, const int = -1,
308 const int = -1, const int = -1 ) /ReleaseGIL/ ;
309 static int createMenu( QAction*, const QString&, const int = -1,
310 const int = -1, const int = -1 ) /ReleaseGIL/ ;
311 static QAction* createSeparator() /ReleaseGIL/ ;
313 static QAction* createAction( const int, const QString&,
314 const QString& = QString(), const QString& = QString(),
315 const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ;
317 static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ;
319 static QAction* action( const int ) /ReleaseGIL/ ;
320 static int actionId( const QAction* ) /ReleaseGIL/ ;
322 static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ;
323 static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ;
324 static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ;
325 static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ;
326 static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ;
327 static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ;
328 static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ;
329 static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ;
330 static QString stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ;
331 static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ;
332 static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
333 static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ;
336 static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ;
337 static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ;
338 static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ;
339 static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ;
340 static void removeSettings ( const QString& ) /ReleaseGIL/ ;
341 static QString getSetting ( const QString& ) /ReleaseGIL/ ;
343 static int addGlobalPreference( const QString& ) /ReleaseGIL/ ;
344 static int addPreference( const QString& ) /ReleaseGIL/ ;
345 static int addPreference( const QString&,
346 const int, const int = PT_Auto,
347 const QString& = QString(),
348 const QString& = QString() ) /ReleaseGIL/ ;
349 static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ;
350 static void setPreferenceProperty( const int,
352 const QVariant& ) /ReleaseGIL/ ;
353 static void addPreferenceProperty( const int,
356 const QVariant& ) /ReleaseGIL/ ;
358 static void message( const QString&, bool = true ) /ReleaseGIL/ ;
359 static void clearMessages() /ReleaseGIL/ ;
361 static QList<int> getViews() /ReleaseGIL/ ;
362 static int getActiveView() /ReleaseGIL/ ;
363 static QString getViewType( const int ) /ReleaseGIL/ ;
364 static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ;
365 static QString getViewTitle( const int ) /ReleaseGIL/ ;
366 static bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ;
367 static QList<int> findViews( const QString& ) /ReleaseGIL/ ;
368 static bool activateView( const int ) /ReleaseGIL/ ;
369 static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ) /ReleaseGIL/ ;
370 static int createView( const QString&, QWidget* ) /ReleaseGIL/ ;
371 static bool closeView( const int ) /ReleaseGIL/ ;
372 static int cloneView( const int ) /ReleaseGIL/ ;
373 static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ;
374 static bool isViewVisible( const int id ) /ReleaseGIL/ ;
375 static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ;
376 static bool isViewClosable( const int id ) /ReleaseGIL/ ;
378 static bool groupAllViews() /ReleaseGIL/ ;
379 static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ;
380 static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ;
381 static QList<int> neighbourViews( const int ) /ReleaseGIL/ ;
384 // start Plot2d-related functionality
385 static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
386 static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ;
387 static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ;
388 static void updateCurves( const int ) /ReleaseGIL/ ;
389 static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ;
390 static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ;
391 static QList<double> getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ;
392 static QList<double> getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ;
393 static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ;
394 // end of Plot2d-related functionality
397 static void processEvents();
399 static void startPyLog(const QString&) /ReleaseGIL/ ;
400 static void stopPyLog() /ReleaseGIL/ ;