]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Implement method to add global preferences group (from Python modules)
authorvsr <vsr@opencascade.com>
Thu, 26 Oct 2006 11:39:21 +0000 (11:39 +0000)
committervsr <vsr@opencascade.com>
Thu, 26 Oct 2006 11:39:21 +0000 (11:39 +0000)
src/SALOME_PYQT/SALOME_PYQT_GUI/SALOME_PYQT_Module.cxx
src/SALOME_PYQT/SALOME_PYQT_GUI/SALOME_PYQT_Module.h
src/SALOME_PYQT/SalomePyQt/SalomePyQt.cxx
src/SALOME_PYQT/SalomePyQt/SalomePyQt.h
src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip
src/SALOME_PYQT/SalomePyQt/SalomePyQt_v4.sip

index d2e912610d356841ed438e5e0218ad0b3dd8b3f3..bbe4a419c1de3b8a2cd08fdb0dcc08694b037d66 100644 (file)
@@ -25,6 +25,7 @@
 #include "STD_TabDesktop.h"
 #include "SalomeApp_Application.h"
 #include "SalomeApp_Study.h"
+#include "LightApp_Preferences.h"
 
 #include "QtxWorkstack.h"
 #include "QtxActionMenuMgr.h"
@@ -1496,6 +1497,15 @@ bool SALOME_PYQT_Module::clearMenu( const int id, const int menu, const bool rem
  * This is done to open protected methods from LightApp_Module class.
  */
 
+int SALOME_PYQT_Module::addGlobalPreference( const QString& label )
+{
+  LightApp_Preferences* pref = preferences();
+  if ( !pref )
+    return -1;
+
+  return pref->addPreference( label, -1 );
+}
+
 int SALOME_PYQT_Module::addPreference( const QString& label )
 {
   return SalomeApp_Module::addPreference( label );
index 51f3a8215a94c76f2b76155cb1db4d80922ab941..8814e0b6649b2d16ba614ef34bf38afd0c4c7e67 100644 (file)
@@ -151,6 +151,7 @@ public:
   QIconSet               loadIcon( const QString& fileName );
 
   /* working with preferences : open protected methods */
+  int                    addGlobalPreference( const QString& );
   int                    addPreference( const QString& );
   int                    addPreference( const QString&, const int, const int = -1,
                                        const QString& = QString::null,
index a67c6748429e50df95307eef386891d02e2879bd..c88d60771643cb03eb9b4c3dc782a077e37bd1b0 100644 (file)
@@ -1365,6 +1365,32 @@ bool SalomePyQt::clearMenu( const int id, const int menu, const bool removeActio
   return ProcessEvent( new TClearMenuEvent( id, menu, removeActions ) );
 }
 
+/*!
+  SalomePyQt::addGlobalPreference
+  Adds global (not module) preferences group 
+ */
+class TAddGlobalPrefEvent: public SALOME_Event {
+public:
+  typedef int TResult;
+  TResult myResult;
+  QString myLabel;
+  TAddGlobalPrefEvent( const QString& label )
+    : myResult( -1 ), myLabel( label ) {}
+  virtual void Execute() {
+    if ( SalomeApp_Application* anApp = getApplication() ) {
+      SALOME_PYQT_Module* module = SALOME_PYQT_Module::getInitModule();
+      if ( !module )
+        module = dynamic_cast<SALOME_PYQT_Module*>( anApp->activeModule() );
+      if ( module )
+       myResult = module->addGlobalPreference( myLabel );
+    }
+  }
+};
+int SalomePyQt::addGlobalPreference( const QString& label )
+{
+  return ProcessEvent( new TAddGlobalPrefEvent( label ) );
+}
+
 /*!
   SalomePyQt::addPreference
   Adds preference 
index 6a6a0e8afd5db48c4016a9c3d62c11187453d7f5..6f18c9fc0277727d1c34c1ef67f0a5c165cebafd 100644 (file)
@@ -162,6 +162,7 @@ public:
   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 = -1,
index ecd8886b50126ba60211a295b9666c923dcfd13a..c477d6b365394ef133d9e5fa77cadcff67ffc878 100644 (file)
@@ -149,6 +149,7 @@ public:
   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, int = -1,
                                          const QString& = QString::null,
index 5bf15f159762720003ec455637cef0b4fb49c3dd..7fc90bb1278b83e0e2adc09c83558397ae91ab3b 100644 (file)
@@ -148,6 +148,7 @@ public:
   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 = -1,