class SalomeApp_DataModel;
class SalomeApp_Application;
+class SalomeApp_Preferences;
class SalomeApp_SelectionManager;
/*
virtual void initialize( CAM_Application* );
virtual void windows( QMap<int, int>& ) const;
virtual void viewManagers( QStringList& ) const;
- virtual QString engineIOR() const;
+
+ // engineIOR() should be a pure virtual method, to avoid logical errors!
+ //
+ // Implementation in derived classes can return the following values:
+ // "" (empty string) - means that this is a light module, default engine should be used for interaction with SALOMEDS persistence
+ // "-1" - means that this is a light module, SALOMEDS persistence is not used at all
+ // module`s engine IOR - means that this is a standard SALOME module with a CORBA engine
+ //
+ virtual QString engineIOR() const = 0;
virtual void contextMenuPopup( const QString&, QPopupMenu*, QString& );
+ virtual void createPreferences();
+
// Convenient shortcuts
SalomeApp_Application* getApp() const;
void updateObjBrowser( bool = true, SUIT_DataObject* = 0 );
virtual void selectionChanged();
+ virtual void preferencesChanged( const QString&, const QString& );
+
+ virtual void studyActivated() {};
public slots:
- virtual void activateModule( SUIT_Study* );
- virtual void deactivateModule( SUIT_Study* );
+ virtual bool activateModule( SUIT_Study* );
+ virtual bool deactivateModule( SUIT_Study* );
+
void MenuItem();
protected slots:
protected:
QtxPopupMgr* popupMgr();
+ SalomeApp_Preferences* preferences() const;
+
virtual CAM_DataModel* createDataModel();
virtual SalomeApp_Selection* createSelection() const;
+ int addPreference( const QString& label );
+ int addPreference( const QString& label, const int pId, const int = -1,
+ const QString& section = QString::null,
+ const QString& param = QString::null );
+ QVariant preferenceProperty( const int, const QString& ) const;
+ void setPreferenceProperty( const int, const QString&, const QVariant& );
+
private:
QtxPopupMgr* myPopupMgr;
};