Salome HOME
Copyrights update
[modules/gui.git] / src / SALOME_PYQT / SalomePyQt / SalomePyQt.h
index b8bb6e3bdc76db49064e2e53c754e2e9e0ee05e0..51f245f2300d64a5aaf95f0c8c883331a6629cf3 100644 (file)
@@ -1,3 +1,21 @@
+// Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
+// 
+// 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 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/
+//
 //=============================================================================
 // File      : SalomePyQt.h
 // Created   : 25/04/05
 #ifndef SALOME_PYQT_H
 #define SALOME_PYQT_H
 
-#include <qwidget.h>
 #include <qstring.h>
-#include <qmenubar.h>
+#include <qobject.h>
+#include <qcolor.h>
+
+#include <LightApp_Application.h>
+
+class LightApp_SelectionMgr;
+class SalomeApp_Application;
+class QMenuBar;
+class QPopupMenu;
+class QWidget;
+class QtxAction;
 
 class SALOME_Selection : public QObject
 {
   Q_OBJECT
+
 public:
-  SALOME_Selection();
+  ~SALOME_Selection();
+  static SALOME_Selection* GetSelection( SalomeApp_Application* );
 
   void Clear();
   void ClearIObjects();
+  void ClearFilters();
 
 signals:
   void currentSelectionChanged();
+
+private slots:
+  void onSelMgrDestroyed();
+
+private:
+  LightApp_SelectionMgr* mySelMgr;
+  SALOME_Selection( QObject* );
 };
 
 enum MenuName {
@@ -37,42 +74,78 @@ enum MenuName {
   Help        = 7  
 };
 
+enum {
+  WT_ObjectBrowser = LightApp_Application::WT_ObjectBrowser,
+  WT_PyConsole     = LightApp_Application::WT_PyConsole,
+  WT_LogWindow     = LightApp_Application::WT_LogWindow,
+  WT_User          = LightApp_Application::WT_User
+};
+
 class SalomePyQt
 {
 public:
   static QWidget*          getDesktop();
   static QWidget*          getMainFrame();
   static QMenuBar*         getMainMenuBar();
-  static QPopupMenu*       getPopupMenu( const MenuName menu );
+  static QPopupMenu*       getPopupMenu( const MenuName );
   static SALOME_Selection* getSelection();
   static int               getStudyId();
-  static void              putInfo( const QString& );
-  static void              putInfo( const QString&, const int );
+  static void              putInfo( const QString&, const int = 0 );
   static const QString     getActiveComponent();
-  static void              updateObjBrowser( const int studyId, bool updateSelection );
-
-  static void              addStringSetting( const QString& name, const QString& value, bool autoValue );
-  static void              addIntSetting   ( const QString& name, const int      value, bool autoValue );
-  static void              addDoubleSetting( const QString& name, const double   value, bool autoValue );
-  static void              removeSettings  ( const QString& name );
-  static QString           getSetting      ( const QString& name );
-
-  static QString           getFileName( QWidget*           parent, 
-                                        const QString&     initial, 
-                                        const QStringList& filters, 
-                                        const QString&     caption,
-                                        bool               open );
-  static QStringList       getOpenFileNames( QWidget*           parent, 
-                                             const QString&     initial, 
-                                             const QStringList& filters, 
-                                             const QString&     caption );
-  static QString           getExistingDirectory( QWidget*       parent,
-                                                 const QString& initial,
-                                                 const QString& caption );
-
-  static void              helpContext( const QString& source, const QString& context );
-
-  static bool              dumpView( const QString& filename );
+  static void              updateObjBrowser( const 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,      const int = -1 );
+  static int               createTool( const int,  const QString&, const int = -1 );
+  static int               createTool( QtxAction*, const int,      const int = -1, const int = -1 );
+  static int               createTool( QtxAction*, const QString&, const int = -1, const int = -1 );
+
+  static int               createMenu( const QString&, const int = -1,
+                                      const int = -1, const int = -1 );
+  static int               createMenu( const QString&, const QString& = QString::null, 
+                                      const int = -1, const int = -1 );
+  static int               createMenu( const int,      const int = -1,
+                                      const int = -1, const int = -1 );
+  static int               createMenu( const int,      const QString& = QString::null, 
+                                      const int = -1, const int = -1 );
+  static int               createMenu( QtxAction*,     const int,      const int = -1, 
+                                      const int = -1, const int = -1 );
+  static int               createMenu( QtxAction*,     const QString&, const int = -1, 
+                                      const int = -1, const int = -1 );
+
+  static QtxAction*        createSeparator();
+
+  static QtxAction*        createAction( const int, const QString&,
+                                        const QString& = QString::null, const QString& = QString::null, 
+                                        const QString& = QString::null, const int = 0, const 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 );
+  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&, const int = 0 );
+  static double            doubleSetting ( const QString&, const QString&, const int = 0 );
+  static bool              boolSetting   ( const QString&, const QString&, const 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& );
+  // 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& );
 };
 
 #endif // SALOME_PYQT_H