Salome HOME
Hide scroll bar in SALOME
[modules/shaper.git] / src / SHAPERGUI / SHAPERGUI.h
index eb993b0c7c835a44ea4681a42affef1b8b263241..54097d4702597d8baba709dddc3c816a2ba1a73b 100644 (file)
@@ -51,12 +51,13 @@ Q_OBJECT
 
   virtual QAction* addFeature(const QString& theWBName, const QString& theId,
                               const QString& theTitle, const QString& theTip, const QIcon& theIcon,
-                              const QKeySequence& theKeys = QKeySequence(),
-                              bool isCheckable = false);
+                              const QKeySequence& theKeys/* = QKeySequence()*/,
+                              bool isCheckable /*= false*/, const bool isAddSeparator/* = false*/,
+                              const QString& theStatusTip);
 
   //! Add feature (QAction) in the \a theWBName toolbar with given \a theInfo about action
   virtual QAction* addFeature(const QString& theWBName,
-                              const ActionInfo& theInfo);
+                              const ActionInfo& theInfo, const bool isAddSeparator);
 
   /// Add a nested feature
   /// \param theWBName a workbench name
@@ -85,28 +86,22 @@ Q_OBJECT
   /// \param theAction an ation to add
   /// \param theToolBarTitle a name of tool bar
   virtual bool addActionInToolbar( QAction* theAction, const QString& theToolBarTitle );
-    
-  virtual QMainWindow* desktop() const;
-
-  virtual QString commandId(const QAction* theCmd) const;
-
-  virtual QAction* command(const QString& theId) const;
 
-  //! Set nested actions dependent on command Id
-  //! \param theId - the command ID
-  //! \param theActions - the list of nested actions
-  virtual void setNestedActions(const QString& theId, const QStringList& theActions);
+  /// Creates menu/tool bar actions for loaded features stored in the menu manager
+  virtual void createFeatureActions();
 
-  //! Returns list of nested actions according to the given command ID
-  virtual QStringList nestedActions(const QString& theId) const;
+  virtual QMainWindow* desktop() const;
 
-  //! Set the document kind of the action by the given command Id
-  //! \param theId - the command ID
-  //! \param theKind - the document kind
-  virtual void setDocumentKind(const QString& theId, const QString& theKind);
+  //! Stores XML information for the feature kind
+  //! \param theFeatureId a feature kind
+  //! \param theMessage a container of the feature XML properties
+  virtual void setFeatureInfo(const QString& theFeatureId,
+                              const std::shared_ptr<Config_FeatureMessage>& theMessage);
 
-  //! Returns the document kind of the action by the given command ID
-  virtual QString documentKind(const QString& theId) const;
+  //! Returns XML information for the feature kind
+  //! \param theFeatureId a feature kind
+  //! \return theMessage a container of the feature XML properties
+  virtual std::shared_ptr<Config_FeatureMessage> featureInfo(const QString& theFeatureId);
 
   //! Returns interface to Salome viewer
   virtual ModuleBase_IViewer* viewer() const
@@ -114,12 +109,9 @@ Q_OBJECT
     return myProxyViewer;
   }
 
-  //! Returns list of defined actions (just by NewGeom module)
+  //! Returns list of defined actions (just by SHAPER module)
   virtual QList<QAction*> commandList() const;
 
-  //! Returns list of Ids of defined actions (just by NewGeom module)
-  virtual QStringList commandIdList() const;
-
   /// Redefinition of virtual function. 
   /// \param theClient name of pop-up client
   /// \param theMenu popup menu instance
@@ -131,7 +123,13 @@ Q_OBJECT
 
   /// Redefinition of virtual function for preferences changed event. 
   virtual void preferencesChanged(const QString& theSection, const QString& theParam);
-  
+
+  //! Shows the given text in status bar as a permanent text
+  //! \theInfo a string value
+  //! \theMsecs interval of msec milliseconds when the message will be hidden, if -1, it stays.
+  //            If 0, default value is used, it is 3000
+  virtual void putInfo(const QString& theInfo, const int theMSecs = 0);
+
   /// \return Workshop class instance
   XGUI_Workshop* workshop() const { return myWorkshop; }
 
@@ -188,6 +186,9 @@ Q_OBJECT
   /// List of registered actions
   QStringList myActionsList;
 
+  /// List of registered nested actions
+  QStringList myNestedActionsList;
+
   /// Reference to workshop
   XGUI_Workshop* myWorkshop;
 
@@ -197,11 +198,8 @@ Q_OBJECT
   /// Proxy viewer for connection to OCC Viewer in SALOME
   SHAPERGUI_SalomeViewer* myProxyViewer;
 
-  /// Map of nested actions [ActionID: list of nested actions Id]
-  QMap<QString, QStringList> myNestedActions;
-
-  /// Map of document types
-  QMap<QString, QString> myDocumentType;
+  /// Map of feature kind to a container of XML properties for the feature
+  QMap<QString, std::shared_ptr<Config_FeatureMessage> > myFeaturesInfo;
 
   /// Flag of opened document state
   bool myIsOpened;