X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2FSALOME_PYQT%2FSalomePyQt%2FSalomePyQt.sip;h=6630c7a8a5877638c90432560007a20945db505d;hb=855f4002aa71d468682a50c484a19579a51bf78c;hp=3824647dd325f6a3d75c96b640451a44b615951f;hpb=ef48575f5c5872f0a71b5390d014f30d90e23694;p=modules%2Fgui.git diff --git a/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip b/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip index 3824647dd..6630c7a8a 100644 --- a/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip +++ b/src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip @@ -1,26 +1,62 @@ -//============================================================================= -// File : SalomePyQt.sip -// Created : 25/04/05 -// Author : Vadim SANDLER -// Project : SALOME -// Copyright : 2003-2005 CEA/DEN, EDF R&D -// $Header : $ -//============================================================================= +// Copyright (C) 2007-2016 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 +%Feature ENABLE_PLOT2D + +%Import QtCore/QtCoremod.sip +%Import QtGui/QtGuimod.sip +%If (Qt_5_0_0 -) +%Import QtWidgets/QtWidgetsmod.sip +%End +%Import QtXml/QtXmlmod.sip + +%If (ENABLE_PLOT2D) +%Include SalomePyQt_Plot2d.sip +%End + +%ExportedHeaderCode +#include +#include +#include +#include +#include +%End class SALOME_Selection : QObject { -%HeaderCode +%TypeHeaderCode #include %End public: - void Clear(); - void ClearIObjects(); - void ClearFilters(); + void Clear() /ReleaseGIL/ ; + void ClearIObjects() /ReleaseGIL/ ; + void ClearFilters() /ReleaseGIL/ ; private: SALOME_Selection( QObject* /TransferThis/ ); @@ -39,91 +75,399 @@ enum MenuName { Help = 7 }; -enum { +enum WindowType { WT_ObjectBrowser, WT_PyConsole, WT_LogWindow, +%If (ENABLE_CORBA) + WT_NoteBook, +%End WT_User }; -class QtxAction : QAction +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, + PT_Slider, + PT_Shortcut, + PT_ShortcutTree, + PT_BiColor, + PT_Background, + PT_UserDefined +}; + +enum Orientation { + Horizontal = 0, + Vertical = 1 +}; + +enum Action { + MoveWidget = 0, + LeaveWidget = 1, + SplitAt = 2 +}; + +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 &); + 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& ); +}; + +class QtxTreeView : public QTreeView +{ +%TypeHeaderCode +#include +%End + +%ConvertToSubClassCode + if ( qobject_cast( sipCpp ) ) + sipClass = sipClass_QtxTreeView; + else + sipClass = NULL; +%End + +public: + explicit QtxTreeView( QWidget* /TransferThis/ = 0 ); + QtxTreeView( const bool, QWidget* /TransferThis/ = 0 ); + virtual ~QtxTreeView(); + +signals: + void sortingEnabled( bool ); + void selectionChanged(); + +private: + QtxTreeView( const QtxTreeView& ); +}; + +class UserDefinedContent : public QWidget +{ +%TypeHeaderCode +#include +%End + +%ConvertToSubClassCode + if ( qobject_cast( sipCpp ) ) + sipClass = sipClass_UserDefinedContent; + else + sipClass = NULL; +%End + +public: + explicit UserDefinedContent(); + + virtual void store(); + virtual void retrieve(); +}; + +enum VisibilityState +{ + ShownState, + HiddenState, + UnpresentableState }; class SalomePyQt { -%HeaderCode +%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( QtxAction*, const int, int = -1, int = -1 ); - static int createTool( QtxAction*, 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 void enableSelector() /ReleaseGIL/ ; + static void disableSelector() /ReleaseGIL/ ; + static SALOME_Selection* getSelection() /Factory,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() /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 void createRoot() /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( QtxAction*, const int, int = -1, - int = -1, int = -1 ); - static int createMenu( QtxAction*, const QString&, int = -1, - int = -1, int = -1 ); - - static QtxAction* createSeparator(); - - static QtxAction* createAction( const int, const QString&, - const QString& = QString::null, const QString& = QString::null, - const QString& = QString::null, int = 0, bool = false ); - - static QtxAction* action( const int ); - static int actionId( const QtxAction* ); - - 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 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(), 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 QString constant ( const QString& ) /ReleaseGIL/ ; + static void setConstant ( const QString&, const QString& ) /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 void addSetting ( const QString&, const QString&, const QByteArray& ) /ReleaseGIL/ ; + static void addSetting ( const QString&, const QString&, const QFont& ) /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(""), const bool = true ) /ReleaseGIL/ ; + static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ) /ReleaseGIL/ ; + static QByteArray byteArraySetting( const QString&, const QString&, const QByteArray& = QByteArray() ) /ReleaseGIL/ ; + static QFont fontSetting( const QString&, const QString&, const QFont& = QFont() ) /ReleaseGIL/ ; + static void removeSetting ( const QString&, const QString& ) /ReleaseGIL/ ; + static bool hasSetting ( const QString&, const QString& ) /ReleaseGIL/ ; + static QStringList parameters ( const QString& ) /ReleaseGIL/ ; + static QStringList parameters ( const QStringList& ) /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 setPreferencePropertyWg( const int, + const QString&, + UserDefinedContent* ) /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 bool setViewSize( const int, const int, const int = 0 ) /ReleaseGIL/ ; + static QList findViews( const QString& ) /ReleaseGIL/ ; + static bool activateView( const int ) /ReleaseGIL/ ; + static bool activateViewManagerAndView( const int ) /ReleaseGIL/ ; + static QWidget* getViewWidget( const int ) /ReleaseGIL/ ; + static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0, bool detached = false ) /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/ ; + +%If (ENABLE_PLOT2D) +// start Plot2d-related functionality + 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/ ; +// end of Plot2d-related functionality +%End + + static void processEvents(); + + static void startPyLog(const QString&) /ReleaseGIL/ ; + static void stopPyLog() /ReleaseGIL/ ; };