Salome HOME
Merge branch 'ASL_TREE_STATE' into asl/hydro_porting_741
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.h
index 4f0decebc240b968a72b3b0dc11079af0744f2ab..e9956afd4ffb74fb541d7a5774a602d6420f90fe 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  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
@@ -6,7 +6,7 @@
 // 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.
+// 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
 #include <QColor>
 
 #include <LightApp_Application.h>
+#ifndef GUI_DISABLE_CORBA
+#include <SalomeApp_Application.h>
+#endif
 #include <LightApp_Preferences.h>
+#include <Plot2d_ViewFrame.h>
 
 class LightApp_SelectionMgr;
-class LightApp_Application;
 class QMenuBar;
 class QMenu;
 class QWidget;
 class QAction;
 class QTreeView;
 class QtxActionGroup;
+class Plot2d_Curve;
 
 class SALOME_Selection : public QObject
 {
@@ -81,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 { 
@@ -116,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:
@@ -140,33 +175,36 @@ public:
   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& name,
-                                        const QString& iconname,
-                                        const QString& tooltip,
-                                        const QString& parent = 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              removeObject( const QString& obj);
-  static void              removeChild( const QString& obj = QString(""));
-  static QStringList       getChildren(const QString& obj = QString(""), const bool rec = false);
-  static void              setName(const QString& obj,const QString& name);
-  static void              setIcon(const QString& obj,const QString& iconname);
-  static void              setToolTip(const QString& obj,const QString& tooltip);
-  static QString           getName(const QString& obj);
-  static QString           getToolTip(const QString& obj);
+  static void              setObjectPosition( const QString&, int );
+  static int               getObjectPosition( const QString& );
 
-  static void              setColor(const QString& obj,const QColor& color);
-  static QColor            getColor(const QString& obj);
 
-  static void              setReference( const QString& obj, 
-                                        const QString& refEntry ); 
-  static QString           getReference( const QString& obj );
+  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();
 
@@ -212,13 +250,6 @@ 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& );
@@ -227,13 +258,8 @@ public:
                                           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();
@@ -245,10 +271,11 @@ public:
   static QString           getViewTitle( const int );
   static QList<int>        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 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 );
@@ -257,6 +284,26 @@ public:
   static bool              splitView( const int, const Orientation, const Action );
   static bool              moveView( const int, const int, const bool );
   static QList<int>        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<double>     getPlot2dFitRangeByCurves(const int);
+  static QList<double>     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