X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOME_PYQT%2FSalomePyQt%2FSalomePyQt.sip;h=6344657816e1e62c498d642b6204e8e49eaaaf68;hb=da1f771bde868e7270105a6ff4b27ae4ca1b6e69;hp=9b4b3ee6663f214ed40f0afc99570822b83aedbd;hpb=0e6b3ef503c54ff17d20ca997eec23e75eda8b87;p=modules%2Fgui.git diff --git a/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip b/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip index 9b4b3ee66..634465781 100644 --- a/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip +++ b/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip @@ -1,29 +1,56 @@ -//============================================================================= -// File : SalomePyQt.sip -// Created : 25/04/05 -// Author : Vadim SANDLER -// Project : SALOME -// Copyright : 2003-2005 CEA/DEN, EDF R&D -// $Header : $ -//============================================================================= +// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// File : SalomePyQt.sip +// Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) +// %Module SalomePyQt -%Import qtmod.sip +%Feature ENABLE_CORBA + +%Import QtGuimod.sip +%Import QtXmlmod.sip + +%ExportedHeaderCode +#include +#include +#include +#include +#include +%End class SALOME_Selection : QObject { - -%HeaderCode +%TypeHeaderCode #include %End public: - SALOME_Selection(); + void Clear() /ReleaseGIL/ ; + void ClearIObjects() /ReleaseGIL/ ; + void ClearFilters() /ReleaseGIL/ ; - void Clear(); - void ClearIObjects(); - void ClearFilters(); +private: + SALOME_Selection( QObject* /TransferThis/ ); signals: void currentSelectionChanged(); @@ -39,75 +66,408 @@ enum MenuName { Help = 7 }; -class SalomePyQt +enum WindowType { + WT_ObjectBrowser, + WT_PyConsole, + WT_LogWindow, +%If (ENABLE_CORBA) + WT_NoteBook, +%End + WT_User +}; + +enum PrefType { + PT_Auto, + PT_Space, + PT_Bool, + PT_Color, + PT_String, + PT_Selector, + PT_DblSpin, + PT_IntSpin, + PT_Double, + PT_Integer, + PT_GroupBox, + PT_Tab, + PT_Frame, + PT_Font, + PT_DirList, + PT_File, +}; + +enum Orientation { + Horizontal = 0, + Vertical = 1 +}; + +enum Action { + MoveWidget = 0, + LeaveWidget = 1, + SplitAt = 2 +}; + +enum Axis { + yLeft, + yRight, + xBottom, + xTop, +}; + +class QtxAction : QWidgetAction +{ +%TypeHeaderCode +#include +%End + +%ConvertToSubClassCode + if ( qobject_cast( sipCpp ) ) + sipClass = sipClass_QtxAction; + else + sipClass = NULL; +%End + +public: + explicit QtxAction( QObject* /TransferThis/ = 0, bool = false ); + QtxAction( const QString&, const QString&, int, QObject* /TransferThis/, bool = false ); + QtxAction( const QString&, const QIcon&, const QString&, int, QObject* /TransferThis/, bool = false ); + virtual ~QtxAction(); + +private: + QtxAction( const QtxAction& ); +}; + +class QtxActionSet : QtxAction +{ +%TypeHeaderCode +#include +%End + +%ConvertToSubClassCode + if ( qobject_cast( sipCpp ) ) + sipClass = sipClass_QtxActionSet; + else + sipClass = NULL; +%End + +public: + explicit QtxActionSet( QObject* /TransferThis/ = 0 ); + virtual ~QtxActionSet(); + + QList actions() const; + void setActions( const QList& ); + + void insertActions( const QList&, const int = -1 ); + + int insertAction( QAction*, const int id = -1, const int = -1 ); + int insertAction( const QString&, const int id = -1, const int = -1 ); + int insertAction( const QString&, const QIcon&, const int id = -1, const int = -1 ); + + void removeAction( QAction* ); + void removeAction( const int ); + + void clear(); + +signals: + void triggered( int ); + void triggered( QAction* ); + +private: + QtxActionSet( const QtxActionSet& ); +}; + +class QtxActionGroup : QtxActionSet +{ +%TypeHeaderCode +#include +%End + +%ConvertToSubClassCode + if ( qobject_cast( sipCpp ) ) + sipClass = sipClass_QtxActionGroup; + else + sipClass = NULL; +%End + +public: + explicit QtxActionGroup( QObject* /TransferThis/ = 0 ); + QtxActionGroup( QObject* /TransferThis/, const bool ); + virtual ~QtxActionGroup(); + + bool isExclusive() const; + bool usesDropDown() const; + + void add( QAction* ); + +public slots: + void setExclusive( const bool ); + void setUsesDropDown( const bool ); + +signals: + void selected( QAction* ); + +private: + QtxActionGroup( const QtxActionGroup& ); +}; + +enum ObjectType { + MainTitle, + XTitle, + YTitle, + Y2Title, + XAxis, + YAxis, + Y2Axis +}; + +class Plot2d_Curve +{ +%TypeHeaderCode +#include +%End + +%ConvertToSubClassCode + if ( dynamic_cast( sipCpp ) ) + sipClass = sipClass_Plot2d_Curve; + else + sipClass = NULL; +%End + +public: + Plot2d_Curve(); + virtual ~Plot2d_Curve(); + void setName( const QString& ); + void addPoint( double, double ); + void addPoints(SIP_PYLIST X, SIP_PYLIST Y); +%MethodCode + int nx = PyList_Size(a0); + int ny = PyList_Size(a1); + + if( nx != ny ) { + PyErr_Format(PyExc_TypeError,"The dimension of x and y should be the same. It is %d and %d currently.", nx, ny); + } + + int i; + PyObject *pX, *pY; + + for (i=0; iaddPoint(aX, aY); + } +%End + void insertPoint( int, double, double ); + void deletePoint( int ); + void clearAllPoints(); + void setXAxis( Axis ); +%MethodCode + int ax = int(a0); + sipCpp->setXAxis(QwtPlot::Axis(ax)); +%End + Axis getXAxis() const; +%MethodCode + sipRes = Axis(sipCpp->getXAxis()); +%End + void setYAxis( Axis ); +%MethodCode + int ay = int(a0); + sipCpp->setYAxis(QwtPlot::Axis(ay)); +%End + Axis getYAxis() const; +%MethodCode + sipRes = Axis(sipCpp->getYAxis()); +%End +}; + +enum VisibilityState +{ + ShownState, + HiddenState, + UnpresentableState +}; + -%HeaderCode +class SalomePyQt +{ +%TypeHeaderCode #include %End public: - static QWidget* getDesktop(); - static QWidget* getMainFrame(); - static QMenuBar* getMainMenuBar(); - static QPopupMenu* getPopupMenu( const MenuName ); - static SALOME_Selection* getSelection() /Factory/; - static int getStudyId(); - static void putInfo( const QString&, int = 0 ); - static const QString getActiveComponent(); - static void updateObjBrowser( int = 0, bool = true ); - - static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ); - static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ); - static QString getExistingDirectory( QWidget*, const QString&, const QString& ); - - static void helpContext( const QString&, const QString& ); - - static bool dumpView( const QString& ); - - static int createTool( const QString& ); - static int createTool( const int, const int, int = -1 ); - static int createTool( const int, const QString&, int = -1 ); - static int createTool( QAction*, const int, int = -1, int = -1 ); - static int createTool( QAction*, const QString&, int = -1, int = -1 ); +/* KeepReference is necessary on method getDesktop with SIP >= 4.15.5 to avoid garbage collection of + the Python objects added to the desktop. This causes a small memory leak (the wrapper around desktop + object is never garbage collected) but since this object contains only references this is not + considered a big problem. With versions < 4.15, it seems that this reference was kept implicitly. + No proper solution was found for versions between 4.15 and 4.15.4 (included), so those versions + should not be used to compile GUI module. +*/ +%If (SIP_4_15_5 - ) + static QWidget* getDesktop() /ReleaseGIL,KeepReference/ ; +%End +%If ( - SIP_4_15_5) + static QWidget* getDesktop() /ReleaseGIL/ ; +%End + + static QWidget* getMainFrame() /ReleaseGIL/ ; + static QMenuBar* getMainMenuBar() /ReleaseGIL/ ; + static QMenu* getPopupMenu( const MenuName ) /ReleaseGIL/ ; + static QMenu* getPopupMenu( const QString& ) /ReleaseGIL/ ; + static QTreeView* getObjectBrowser() /ReleaseGIL/ ; + static SALOME_Selection* getSelection() /Factory,ReleaseGIL/ ; + static int getStudyId() /ReleaseGIL/ ; + static void putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ; + static const QString getActiveComponent() /ReleaseGIL/ ; + static SIP_PYOBJECT getActivePythonModule() /ReleaseGIL/ ; + static bool activateModule( const QString& ) /ReleaseGIL/ ; + static void updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ; + + static bool isModified() /ReleaseGIL/ ; + static void setModified( bool ) /ReleaseGIL/ ; + + static QString getFileName ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ; + static QStringList getOpenFileNames ( QWidget*, const QString&, const QStringList&, const QString& ) /ReleaseGIL/ ; + static QString getExistingDirectory( QWidget*, const QString&, const QString& ) /ReleaseGIL/ ; + + static QString createObject( const QString& = QString("") ) /ReleaseGIL/ ; + static QString createObject( const QString&, + const QString&, + const QString&, + const QString& = QString("") ) /ReleaseGIL/ ; + + static void setName(const QString& ,const QString& ) /ReleaseGIL/ ; + static void setIcon(const QString& ,const QString& ) /ReleaseGIL/ ; + static void setToolTip(const QString& ,const QString& ) /ReleaseGIL/ ; + static QString getName(const QString& ) /ReleaseGIL/ ; + static QString getToolTip(const QString& ) /ReleaseGIL/ ; + + static void setVisibilityState( const QString&, VisibilityState ); + static VisibilityState getVisibilityState( const QString& ); + + static void setObjectPosition( const QString&, int ); + static int getObjectPosition( const QString& ); + + static void setColor( const QString&, const QColor& ) /ReleaseGIL/ ; + static QColor getColor( const QString& ) /ReleaseGIL/ ; + + static void setReference( const QString& ,const QString& ) /ReleaseGIL/ ; + static QString getReference( const QString& ) /ReleaseGIL/ ; + + static void removeObject(const QString& ) /ReleaseGIL/ ; + static void removeChildren(const QString& = QString("") ) /ReleaseGIL/ ; + static void removeChild(const QString& = QString("") ) /ReleaseGIL/ ; + static QStringList getChildren(const QString&=QString("") , const bool = false) /ReleaseGIL/ ; + + static QIcon loadIcon( const QString&, const QString& ) /ReleaseGIL/ ; + static void helpContext( const QString&, const QString& ) /ReleaseGIL/ ; + + static bool dumpView( const QString&, const int = 0 ) /ReleaseGIL/ ; + + static int defaultMenuGroup() /ReleaseGIL/ ; + + static int createTool( const QString&, const QString& = QString() ) /ReleaseGIL/ ; + static int createTool( const int, const int, const int = -1 ) /ReleaseGIL/ ; + static int createTool( const int, const QString&, const int = -1 ) /ReleaseGIL/ ; + static int createTool( QAction*, const int, const int = -1, const int = -1 ) /ReleaseGIL/ ; + static int createTool( QAction*, const QString&, const int = -1, const int = -1 ) /ReleaseGIL/ ; static int createMenu( const QString&, const int, - int = -1, int = -1 ); + const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ; static int createMenu( const QString&, const QString&, - int = -1, int = -1 ); + const int = -1, const int = -1, const int = -1 ) /ReleaseGIL/ ; static int createMenu( const int, const int, - int = -1, int = -1 ); + const int = -1, const int = -1 ) /ReleaseGIL/ ; static int createMenu( const int, const QString&, - int = -1, int = -1 ); - static int createMenu( QAction*, const int, int = -1, - int = -1, int = -1 ); - static int createMenu( QAction*, const QString&, int = -1, - int = -1, int = -1 ); - - static QAction* createSeparator(); + const int = -1, const int = -1 ) /ReleaseGIL/ ; + static int createMenu( QAction*, const int, const int = -1, + const int = -1, const int = -1 ) /ReleaseGIL/ ; + static int createMenu( QAction*, const QString&, const int = -1, + const int = -1, const int = -1 ) /ReleaseGIL/ ; + static QAction* createSeparator() /ReleaseGIL/ ; static QAction* createAction( const int, const QString&, - const QString& = QString::null, const QString& = QString::null, - const QString& = QString::null, int = 0, bool = false ); - - static QAction* action( const int ); - static int actionId( const QAction* ); - - static void addSetting ( const QString&, const QString&, const double ); - static void addSetting ( const QString&, const QString&, const int /Constrained/ ); - static void addSetting ( const QString&, const QString&, const QString& ); - static void addSetting ( const QString&, const QString&, const QColor& ); - static int integerSetting( const QString&, const QString&, int = 0 ); - static double doubleSetting ( const QString&, const QString&, int = 0 ); - static bool boolSetting ( const QString&, const QString&, bool = 0 ); - static QString stringSetting ( const QString&, const QString&, const QString& = QString("") ); - static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ); - static void removeSetting ( const QString&, const QString& ); + const QString& = QString(), const QString& = QString(), + const QString& = QString(), const int = 0, const bool = false ) /ReleaseGIL/ ; + + static QtxActionGroup* createActionGroup( const int, const bool = true ) /ReleaseGIL/ ; + + static QAction* action( const int ) /ReleaseGIL/ ; + static int actionId( const QAction* ) /ReleaseGIL/ ; + + static void addSetting ( const QString&, const QString&, const double ) /ReleaseGIL/ ; + static void addSetting ( const QString&, const QString&, const int /Constrained/ ) /ReleaseGIL/ ; + static void addSetting ( const QString&, const QString&, const bool, const int ) /ReleaseGIL/ ; + static void addSetting ( const QString&, const QString&, const QString& ) /ReleaseGIL/ ; + static void addSetting ( const QString&, const QString&, const QColor& ) /ReleaseGIL/ ; + static int integerSetting( const QString&, const QString&, const int = 0 ) /ReleaseGIL/ ; + static double doubleSetting ( const QString&, const QString&, const double = 0 ) /ReleaseGIL/ ; + static bool boolSetting ( const QString&, const QString&, const bool = false ) /ReleaseGIL/ ; + static QString stringSetting ( const QString&, const QString&, const QString& = QString("") ) /ReleaseGIL/ ; + static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ; + static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ; + static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ; // obsolete - static void addStringSetting( const QString&, const QString&, bool = true ); - static void addIntSetting ( const QString&, const int, bool = true ); - static void addDoubleSetting( const QString&, const double, bool = true ); - static void removeSettings ( const QString& ); - static QString getSetting ( const QString& ); + static void addStringSetting( const QString&, const QString&, bool = true ) /ReleaseGIL/ ; + static void addIntSetting ( const QString&, const int, bool = true ) /ReleaseGIL/ ; + static void addDoubleSetting( const QString&, const double, bool = true ) /ReleaseGIL/ ; + static void addBoolSetting ( const QString&, const bool, bool = true ) /ReleaseGIL/ ; + static void removeSettings ( const QString& ) /ReleaseGIL/ ; + static QString getSetting ( const QString& ) /ReleaseGIL/ ; + + static int addGlobalPreference( const QString& ) /ReleaseGIL/ ; + static int addPreference( const QString& ) /ReleaseGIL/ ; + static int addPreference( const QString&, + const int, const int = PT_Auto, + const QString& = QString(), + const QString& = QString() ) /ReleaseGIL/ ; + static QVariant preferenceProperty( const int, const QString& ) /ReleaseGIL/ ; + static void setPreferenceProperty( const int, + const QString&, + const QVariant& ) /ReleaseGIL/ ; + static void addPreferenceProperty( const int, + const QString&, + const int, + const QVariant& ) /ReleaseGIL/ ; + + static void message( const QString&, bool = true ) /ReleaseGIL/ ; + static void clearMessages() /ReleaseGIL/ ; + + static QList getViews() /ReleaseGIL/ ; + static int getActiveView() /ReleaseGIL/ ; + static QString getViewType( const int ) /ReleaseGIL/ ; + static bool setViewTitle( const int, const QString& ) /ReleaseGIL/ ; + static QString getViewTitle( const int ) /ReleaseGIL/ ; + static QList findViews( const QString& ) /ReleaseGIL/ ; + static bool activateView( const int ) /ReleaseGIL/ ; + static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ) /ReleaseGIL/ ; + static int createView( const QString&, QWidget* ) /ReleaseGIL/ ; + static bool closeView( const int ) /ReleaseGIL/ ; + static int cloneView( const int ) /ReleaseGIL/ ; + static void setViewVisible( const int id, bool visible = true ) /ReleaseGIL/ ; + static bool isViewVisible( const int id ) /ReleaseGIL/ ; + static void setViewClosable( const int id, const bool ) /ReleaseGIL/ ; + static bool isViewClosable( const int id ) /ReleaseGIL/ ; + + static bool groupAllViews() /ReleaseGIL/ ; + static bool splitView( const int, Orientation, Action ) /ReleaseGIL/ ; + static bool moveView( const int, const int, const bool ) /ReleaseGIL/ ; + static QList neighbourViews( const int ) /ReleaseGIL/ ; + + static void displayCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ; + static void eraseCurve(const int, Plot2d_Curve*) /ReleaseGIL/ ; + static void eraseCurve(Plot2d_Curve*) /ReleaseGIL/ ; + static void updateCurves( const int ) /ReleaseGIL/ ; + static QString getPlot2dTitle(const int, ObjectType = MainTitle) /ReleaseGIL/ ; + static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true) /ReleaseGIL/ ; + static QList getPlot2dFitRangeByCurves(const int) /ReleaseGIL/ ; + static QList getPlot2dFitRangeCurrent(const int) /ReleaseGIL/ ; + static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax ) /ReleaseGIL/ ; + + static void processEvents(); + + + static void startPyLog(const QString&) /ReleaseGIL/ ; + static void stopPyLog() /ReleaseGIL/ ; };