X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOME_PYQT%2FSalomePyQt%2FSalomePyQt.h;h=e9956afd4ffb74fb541d7a5774a602d6420f90fe;hb=02904c3728214667f919cfe06072a91e1687b12f;hp=2643b2112578b040bc52c8992b3b4c9742bad814;hpb=1c889394b028b786898a995d38c07c8f3d564837;p=modules%2Fgui.git diff --git a/src/SALOME_PYQT/SalomePyQt/SalomePyQt.h b/src/SALOME_PYQT/SalomePyQt/SalomePyQt.h index 2643b2112..e9956afd4 100644 --- a/src/SALOME_PYQT/SalomePyQt/SalomePyQt.h +++ b/src/SALOME_PYQT/SalomePyQt/SalomePyQt.h @@ -1,44 +1,52 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// 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 +// 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. +// 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. +// 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 +// 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 +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : SalomePyQt.h // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) // #ifndef SALOME_PYQT_H #define SALOME_PYQT_H +#include + #include #include #include #include +#ifndef GUI_DISABLE_CORBA +#include +#endif #include +#include class LightApp_SelectionMgr; -class SalomeApp_Application; class QMenuBar; class QMenu; class QWidget; class QAction; +class QTreeView; class QtxActionGroup; +class Plot2d_Curve; class SALOME_Selection : public QObject { @@ -46,7 +54,7 @@ class SALOME_Selection : public QObject public: ~SALOME_Selection(); - static SALOME_Selection* GetSelection( SalomeApp_Application* ); + static SALOME_Selection* GetSelection( LightApp_Application* ); void Clear(); void ClearIObjects(); @@ -77,7 +85,12 @@ enum { WT_ObjectBrowser = LightApp_Application::WT_ObjectBrowser, WT_PyConsole = LightApp_Application::WT_PyConsole, WT_LogWindow = LightApp_Application::WT_LogWindow, +#ifndef GUI_DISABLE_CORBA + WT_NoteBook = SalomeApp_Application::WT_NoteBook, + WT_User = SalomeApp_Application::WT_User +#else WT_User = LightApp_Application::WT_User +#endif }; enum { @@ -112,6 +125,32 @@ enum Action { SplitAt = 2 //!< the view area is splitted in such a way, that specified view and all views which follow it, are moved to the new area }; +//! Type of titles in Plot3d View +enum ObjectType +{ + MainTitle = Plot2d_ViewFrame::MainTitle, + XTitle = Plot2d_ViewFrame::XTitle, + YTitle = Plot2d_ViewFrame::YTitle, + Y2Title = Plot2d_ViewFrame::Y2Title, + XAxis = Plot2d_ViewFrame::XAxis, + YAxis = Plot2d_ViewFrame::YAxis, + Y2Axis = Plot2d_ViewFrame::Y2Axis +}; + +enum VisibilityState +{ + ShownState, //!< Object is shown in viewer + HiddenState, //!< Object is hidden in viewer + UnpresentableState //!< Unpresentable object +}; + +enum Axis { + yLeft = QwtPlot::yLeft, + yRight = QwtPlot::yRight, + xBottom = QwtPlot::xBottom, + xTop = QwtPlot::xTop, +}; + class SalomePyQt { public: @@ -120,19 +159,52 @@ public: static QMenuBar* getMainMenuBar(); static QMenu* getPopupMenu( const MenuName ); static QMenu* getPopupMenu( const QString& ); + static QTreeView* getObjectBrowser(); static SALOME_Selection* getSelection(); static int getStudyId(); static void putInfo( const QString&, const int = 0 ); static const QString getActiveComponent(); + static PyObject* getActivePythonModule(); + static bool activateModule( const QString& ); static void updateObjBrowser( const int = 0, bool = true ); + static bool isModified(); + static void setModified( bool ); + 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 QString createObject( const QString& parent = QString() ); + static QString createObject( const QString&, const QString&, const QString&, const QString& = QString() ); + + static void removeObject( const QString&); + static void removeChildren( const QString& = QString() ); + static QStringList getChildren( const QString& = QString(), const bool = false ); + static void setName( const QString&, const QString& ); + static void setIcon( const QString&, const QString& ); + static void setToolTip( const QString&, const QString& ); + static QString getName( const QString& ); + static QString getToolTip( const QString& ); + + 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& ); + static QColor getColor( const QString& ); + + static void setReference( const QString&, const QString& ); + static QString getReference( const QString& ); + + static QIcon loadIcon( const QString&, const QString& ); + static void helpContext( const QString&, const QString& ); - static bool dumpView( const QString& ); + static bool dumpView( const QString&, const int = 0 ); static int defaultMenuGroup(); @@ -143,23 +215,23 @@ public: static int createTool( QAction*, const QString&, const int = -1, const int = -1 ); static int createMenu( const QString&, const int = -1, - const int = -1, const int = -1, const int = -1 ); + const int = -1, const int = -1, const int = -1 ); static int createMenu( const QString&, const QString& = QString(), - const int = -1, const int = -1, const int = -1 ); + const int = -1, const int = -1, const int = -1 ); static int createMenu( const int, const int = -1, - const int = -1, const int = -1 ); + const int = -1, const int = -1 ); static int createMenu( const int, const QString& = QString(), - const int = -1, const int = -1 ); + const int = -1, const int = -1 ); static int createMenu( QAction*, const int, const int = -1, - const int = -1, const int = -1 ); + const int = -1, const int = -1 ); static int createMenu( QAction*, const QString&, const int = -1, - const int = -1, const int = -1 ); + const int = -1, const int = -1 ); static QAction* createSeparator(); static QAction* createAction( const int, const QString&, - const QString& = QString(), const QString& = QString(), - const QString& = QString(), const int = 0, const bool = false ); + const QString& = QString(), const QString& = QString(), + const QString& = QString(), const int = 0, const bool = false ); static QtxActionGroup* createActionGroup( const int, const bool = true ); @@ -178,28 +250,16 @@ public: static QColor colorSetting ( const QString&, const QString&, const QColor& = QColor() ); static void removeSetting ( const QString&, const QString& ); static bool hasSetting ( const QString&, const QString& ); - // obsolete - static void addStringSetting( const QString&, const QString&, bool = true ); - static void addIntSetting ( const QString&, const int, bool = true ); - static void addBoolSetting ( const QString&, const bool, bool = true ); - static void addDoubleSetting( const QString&, const double, bool = true ); - static void removeSettings ( const QString& ); - static QString getSetting ( const QString& ); static int addGlobalPreference( const QString& ); static int addPreference( const QString& ); static int addPreference( const QString&, const int, const int = PT_Auto, const QString& = QString(), - const QString& = QString() ); + const QString& = QString() ); static QVariant preferenceProperty( const int, const QString& ); - static void setPreferenceProperty( const int, - const QString&, - const QVariant& ); - static void addPreferenceProperty( const int, - const QString&, - const int, - const QVariant& ); + static void setPreferenceProperty( const int, const QString&, const QVariant& ); + static void addPreferenceProperty( const int, const QString&, const int, const QVariant& ); static void message( const QString&, bool = true ); static void clearMessages(); @@ -211,15 +271,39 @@ public: static QString getViewTitle( const int ); static QList findViews( const QString& ); static bool activateView( const int ); - static int createView( const QString& ); + static int createView( const QString&, bool visible = true, const int width = 0, const int height = 0 ); + static int createView( const QString&, QWidget* ); static bool closeView( const int ); static int cloneView( const int ); - static bool isViewVisible( const int id ); - + static void setViewVisible( const int id, bool visible = true ); + static bool isViewVisible( const int ); + static void setViewClosable( const int, const bool ); + static bool isViewClosable( const int ); + static bool groupAllViews(); static bool splitView( const int, const Orientation, const Action ); static bool moveView( const int, const int, const bool ); static QList neighbourViews( const int ); + + static void displayCurve(const int, Plot2d_Curve*); + static void eraseCurve(const int, Plot2d_Curve*); + static void eraseCurve(Plot2d_Curve*); + static void updateCurves( const int ); + static QString getPlot2dTitle(const int, ObjectType = MainTitle); + static void setPlot2dTitle(const int, const QString&, ObjectType = MainTitle, bool = true); + static QList getPlot2dFitRangeByCurves(const int); + static QList getPlot2dFitRangeCurrent(const int); + static void setPlot2dFitRange(const int, const double XMin, const double XMax, const double YMin, const double YMax); + + // the following methods are obsolete + static void addStringSetting( const QString&, const QString&, bool = true ); + static void addIntSetting ( const QString&, const int, bool = true ); + static void addBoolSetting ( const QString&, const bool, bool = true ); + static void addDoubleSetting( const QString&, const double, bool = true ); + static void removeSettings ( const QString& ); + static QString getSetting ( const QString& ); + + static void removeChild( const QString& = QString() ); }; #endif // SALOME_PYQT_H