X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_SalomeConnector.h;h=89b35ed4af10c684dd6098d7849de905cf7dca69;hb=6b43eaed577c1ac3781a4d701807c1777c829700;hp=c06bd3e5223e2b0f8293b9147eb78f092d41aab2;hpb=4f5cbc32b2621344e253876da67abc1ccd94fe31;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_SalomeConnector.h b/src/XGUI/XGUI_SalomeConnector.h index c06bd3e52..89b35ed4a 100644 --- a/src/XGUI/XGUI_SalomeConnector.h +++ b/src/XGUI/XGUI_SalomeConnector.h @@ -11,6 +11,7 @@ #include class QMainWindow; +class Config_FeatureMessage; class ModuleBase_IViewer; /** @@ -21,6 +22,11 @@ class ModuleBase_IViewer; class XGUI_EXPORT XGUI_SalomeConnector { public: + /// Default constructor + XGUI_SalomeConnector(); + /// Virtual destructor + virtual ~XGUI_SalomeConnector(); + //! Creates a feature (command) in SALOME desktop //! \param theWBName - a workbench name //! \param theId - an id of the feature @@ -29,13 +35,32 @@ class XGUI_EXPORT XGUI_SalomeConnector //! \param theIcon - icon //! \param isCheckable - is checkable or not //! \param theKeys - hot keys + //! \param isAddSeparator boolean flag about adding separator after the action //! returns created action virtual QAction* addFeature(const QString& theWBName, const QString& theId, const QString& theTitle, const QString& theTip, const QIcon& theIcon, - const QKeySequence& theKeys, bool isCheckable) = 0; + const QKeySequence& theKeys, bool isCheckable, const bool isAddSeparator) = 0; + //! Creates a feature (command) in SALOME desktop + //! \param theWBName - name of toolbar (workbench) + //! \param theInfo - information about action (icon, text, etc) + //! \param isAddSeparator boolean flag about adding separator after the action virtual QAction* addFeature(const QString& theWBName, - const ActionInfo& theInfo) = 0; + const ActionInfo& theInfo, const bool isAddSeparator) = 0; + + //! Creates a feature (command) in SALOME desktop + //! \param theWBName - name of toolbar (workbench) + //! \param theInfo - information about action (icon, text, etc) + //! \param theNestedActions a list of nested actions + virtual QAction* addFeatureOfNested(const QString& theWBName, + const ActionInfo& theInfo, + const QList& theNestedActions) = 0; + + //! Returns true if the feature action is a nested action, in other words, + //! it is created by addFeatureOfNested(). + //! \param theAction - an action of a feature + //! returns boolean result + virtual bool isFeatureOfNested(const QAction* theAction) = 0; //! Creates a command in Edit menu of SALOME desktop //! \param theId - an id of the feature @@ -57,42 +82,42 @@ class XGUI_EXPORT XGUI_SalomeConnector virtual void addDesktopMenuSeparator(const char* theMenuSourceText, const int theMenuPosition = 10) = 0; - //! Returns desktop window of SALOME - virtual QMainWindow* desktop() const = 0; + /// Add an action into tool bar + /// \param theAction the Action object + /// \param theToolBarTitle the toolbar name + virtual bool addActionInToolbar( QAction* theAction, const QString& theToolBarTitle ) = 0; - //! Returns command string Id by QAction instance - virtual QString commandId(const QAction* theCmd) const = 0; + /// Creates menu/tool bar actions for loaded features stored in the menu manager + virtual void createFeatureActions() = 0; - //! Returns QAction instance by command string Id - virtual QAction* command(const QString& theId) const = 0; + //! Returns desktop window of SALOME + virtual QMainWindow* desktop() const = 0; - //! Returns list of defined actions (just by NewGeom module) + //! Returns list of defined actions (just by SHAPER module) virtual QList commandList() const = 0; - //! Returns list of Ids of defined actions (just by NewGeom module) - virtual QStringList commandIdList() const = 0; - - //! 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) = 0; + //! 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& theMessage) = 0; - //! Returns list of nested actions according to the given command ID - virtual QStringList nestedActions(const QString& theId) const = 0; - - //! 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) = 0; - - //! Returns the document kind of the action by the given command ID - virtual QString documentKind(const QString& theId) const = 0; + //! 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 featureInfo(const QString& theFeatureId) = 0; //! Returns interface to Salome viewer virtual ModuleBase_IViewer* viewer() const = 0; //! Create preferences virtual void createPreferences() = 0; + + //! 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) = 0; }; #endif