]> SALOME platform Git repositories - modules/gui.git/blobdiff - src/SALOME_PYQT/SalomePyQt/SalomePyQt.h
Salome HOME
updated copyright message
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.h
index f413631ccfb8bde7897a68c08caac17663fb7813..ac69fc282598cb8e6977a5526d4b1d716330ca92 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  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>
+#ifndef DISABLE_PLOT2DVIEWER
+#include <Plot2d_ViewFrame.h>
+#endif
 
 class LightApp_SelectionMgr;
 class QMenuBar;
@@ -42,6 +48,9 @@ class QWidget;
 class QAction;
 class QTreeView;
 class QtxActionGroup;
+#ifndef DISABLE_PLOT2DVIEWER
+class Plot2d_Curve;
+#endif
 
 class SALOME_Selection : public QObject
 {
@@ -80,7 +89,13 @@ enum {
   WT_ObjectBrowser = LightApp_Application::WT_ObjectBrowser,
   WT_PyConsole     = LightApp_Application::WT_PyConsole,
   WT_LogWindow     = LightApp_Application::WT_LogWindow,
+  WT_InfoPanel     = LightApp_Application::WT_InfoPanel,
+#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 { 
@@ -100,6 +115,23 @@ enum {
   PT_Font     = LightApp_Preferences::Font, 
   PT_DirList  = LightApp_Preferences::DirList, 
   PT_File     = LightApp_Preferences::File, 
+  PT_Slider       = LightApp_Preferences::Slider, 
+  PT_Shortcut     = LightApp_Preferences::Shortcut, 
+  PT_ShortcutTree = LightApp_Preferences::ShortcutTree, 
+  PT_BiColor      = LightApp_Preferences::BiColor, 
+  PT_Background   = LightApp_Preferences::Background, 
+  PT_UserDefined  = LightApp_Preferences::UserDefined, 
+};
+
+class UserDefinedContent: public QWidget
+{
+  Q_OBJECT
+
+public:
+  explicit UserDefinedContent();
+
+  virtual void store();
+  virtual void retrieve();
 };
 
 //! Orientation
@@ -115,22 +147,75 @@ 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
 };
 
+#ifndef DISABLE_PLOT2DVIEWER
+//! 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
+};
+#endif
+
+enum VisibilityState 
+{
+  ShownState,             //!< Object is shown in viewer
+  HiddenState,            //!< Object is hidden in viewer
+  UnpresentableState      //!< Unpresentable object    
+};
+
+#ifndef DISABLE_PLOT2DVIEWER
+enum Axis {
+  yLeft    = QwtPlot::yLeft,
+  yRight   = QwtPlot::yRight,
+  xBottom  = QwtPlot::xBottom,
+  xTop     = QwtPlot::xTop,
+};     
+#endif
+
 class SalomePyQt
 {
 public:
+  static QString           getAppName();
+  static bool              isLightApp();
+
   static QWidget*          getDesktop();
   static QWidget*          getMainFrame();
   static QMenuBar*         getMainMenuBar();
   static QMenu*            getPopupMenu( const MenuName );
   static QMenu*            getPopupMenu( const QString& );
   static QTreeView*        getObjectBrowser();
+  static void              enableSelector();
+  static void              disableSelector();
   static SALOME_Selection* getSelection();
-  static int               getStudyId();
-  static void              putInfo( const QString&, const int = 0 );
+  static QStringList       getComponents();
+  static void              setSelection( const QStringList& );
   static const QString     getActiveComponent();
   static PyObject*         getActivePythonModule();
   static bool              activateModule( const QString& );
-  static void              updateObjBrowser( const int = 0, bool = true );
+  static void              registerModule( const QString& );
+  static void              updateObjBrowser();
+
+  static void              infoSetTitle( const QString& );
+  static int               infoAddLabel( const QString&, const int = -1 );
+  static int               infoAddLabel( const QString&, Qt::Alignment, const int = -1 );
+  static int               infoAddAction( QAction*, const int = -1 );
+  static int               infoAddGroup( const QString&, const int = -1 );
+
+  static void              infoRemove( const int );
+  static void              infoClear( const int = -1 );
+
+  static void              infoSetVisible( const int, bool );
+  static void              infoSetEnabled( const int, bool );
+
+  static void              putInfo( const QString&, const int = 0 );
+  static int               showNotification( const QString&, const QString&, const int = -1 );
+  static void              hideNotification( const QString& );
+  static void              hideNotification( const int );
 
   static bool              isModified();
   static void              setModified( bool );
@@ -139,6 +224,7 @@ public:
   static QStringList       getOpenFileNames    ( QWidget*, const QString&, const QStringList&, const QString& );
   static QString           getExistingDirectory( QWidget*, const QString&, const QString& );
 
+  static void              createRoot();
   static QString           createObject( const QString& parent = QString() );
   static QString           createObject( const QString&, const QString&, const QString&, const QString& = QString() );
 
@@ -151,6 +237,13 @@ public:
   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& );
 
@@ -161,15 +254,16 @@ public:
 
   static void              helpContext( const QString&, const QString& );
 
-  static bool              dumpView( const QString& );
+  static bool              dumpView( const QString&, const int = 0 );
 
   static int               defaultMenuGroup();
 
-  static int               createTool( const QString& );
+  static int               createTool( const QString&, const QString& = QString() );
   static int               createTool( const int,  const int,      const int = -1 );
   static int               createTool( const int,  const QString&, const int = -1 );
   static int               createTool( QAction*, const int,      const int = -1, const int = -1 );
   static int               createTool( QAction*, const QString&, const int = -1, const int = -1 );
+  static void              clearTool( const QString& );
 
   static int               createMenu( const QString&, const int = -1,
                                        const int = -1, const int = -1, const int = -1 );
@@ -195,18 +289,26 @@ public:
   static QAction*          action( const int );
   static int               actionId( const QAction* );
 
+  static QString           constant      ( const QString& );
+  static void              setConstant   ( const QString&, const QString& );
   static void              addSetting    ( const QString&, const QString&, const double );
   static void              addSetting    ( const QString&, const QString&, const int );
   static void              addSetting    ( const QString&, const QString&, const bool, const int );
   static void              addSetting    ( const QString&, const QString&, const QString& );
   static void              addSetting    ( const QString&, const QString&, const QColor& );
+  static void              addSetting    ( const QString&, const QString&, const QByteArray& );
+  static void              addSetting    ( const QString&, const QString&, const QFont& );
   static int               integerSetting( const QString&, const QString&, const int = 0 );
   static double            doubleSetting ( const QString&, const QString&, const double = 0 );
   static bool              boolSetting   ( const QString&, const QString&, const bool = 0 );
-  static QString           stringSetting ( const QString&, const QString&, const QString& = QString("") );
+  static QString           stringSetting ( const QString&, const QString&, const QString& = QString(""), const bool = true );
   static QColor            colorSetting  ( const QString&, const QString&, const QColor& = QColor() );
+  static QByteArray        byteArraySetting( const QString&, const QString&, const QByteArray& = QByteArray() );
+  static QFont             fontSetting( const QString&, const QString&, const QFont& = QFont() );
   static void              removeSetting ( const QString&, const QString& );
   static bool              hasSetting    ( const QString&, const QString& );
+  static QStringList       parameters    ( const QString& );
+  static QStringList       parameters    ( const QStringList& );
 
   static int               addGlobalPreference( const QString& );
   static int               addPreference( const QString& );
@@ -216,6 +318,7 @@ public:
                                           const QString& = QString() );
   static QVariant          preferenceProperty( const int, const QString& );
   static void              setPreferenceProperty( const int, const QString&, const QVariant& );
+  static void              setPreferencePropertyWg( const int, const QString&, UserDefinedContent* );
   static void              addPreferenceProperty( const int, const QString&, const int, const QVariant& );
 
   static void              message( const QString&, bool = true );
@@ -226,12 +329,17 @@ public:
   static QString           getViewType( const int );
   static bool              setViewTitle( const int, const QString& );
   static QString           getViewTitle( const int );
+  static bool              setViewSize( const int, const int, const int = 0 );
+  static bool              setViewRotationPoint( const double, const double, const double, const int = 0 );
   static QList<int>        findViews( const QString& );
   static bool              activateView( const int );
-  static int               createView( const QString& );
+  static bool              activateViewManagerAndView( const int );
+  static QWidget*          getViewWidget( const int );
+  static int               createView( const QString&, bool visible = true, const int width = 0, const int height = 0, bool detached = false );
   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 );
@@ -241,6 +349,21 @@ public:
   static bool              moveView( const int, const int, const bool );
   static QList<int>        neighbourViews( const int );
 
+#ifndef DISABLE_PLOT2DVIEWER
+  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);
+#endif
+
+//  static void              initializeParaViewGUI();
+  static void              processEvents();
+
   // the following methods are obsolete
   static void              addStringSetting( const QString&, const QString&, bool = true );
   static void              addIntSetting   ( const QString&, const int,      bool = true );
@@ -250,6 +373,10 @@ public:
   static QString           getSetting      ( const QString& );
 
   static void              removeChild( const QString& = QString() );
+
+  static void              startPyLog(const QString&);
+  static void              stopPyLog();
+
 };
 
 #endif // SALOME_PYQT_H