X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_SalomeConnector.h;h=50c622f018e2aee23e24dd3d9df5f219e2904c9d;hb=cee771b5b59162bd91aa69a3a737a79b1905d866;hp=48bb6e10f7515f81768dc034740762af94b3d2e5;hpb=00e166f80c6501ef008ea4c9a1fd57b8c69f0202;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_SalomeConnector.h b/src/XGUI/XGUI_SalomeConnector.h index 48bb6e10f..50c622f01 100644 --- a/src/XGUI/XGUI_SalomeConnector.h +++ b/src/XGUI/XGUI_SalomeConnector.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + #ifndef XGUI_SALOMECONNECTOR_H #define XGUI_SALOMECONNECTOR_H @@ -6,16 +8,24 @@ #include #include +#include + class QMainWindow; -class XGUI_SalomeViewer; +class ModuleBase_IViewer; /** -* An interface which provides a connection of XGUI functionality -* with functionality of SALOME module interface. -*/ + * \ingroup GUI + * An interface which provides a connection of XGUI functionality + * with functionality of SALOME module interface. + */ class XGUI_EXPORT XGUI_SalomeConnector { -public: + 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 @@ -25,13 +35,29 @@ public: //! \param isCheckable - is checkable or not //! \param theKeys - hot keys //! 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; + + //! Creates a feature (command) in SALOME desktop + //! \param theWBName - name of toolbar (workbench) + //! \param theInfo - information about action (icon, text, etc) 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 ActionInfo& theInfo) = 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 @@ -40,16 +66,23 @@ public: //! \param theIcon - icon //! \param isCheckable - is checkable or not //! \param theKeys - hot keys + //! \param theMenuSourceText - a source text of the desktop menu + //! \param theMenuPosition - a position of the command in the desktop menu //! returns created action - virtual QAction* addEditCommand(const QString& theId, - const QString& theTitle, - const QString& theTip, - const QIcon& theIcon, - const QKeySequence& theKeys, - bool isCheckable) = 0; + virtual QAction* addDesktopCommand(const QString& theId, const QString& theTitle, + const QString& theTip, const QIcon& theIcon, + const QKeySequence& theKeys, bool isCheckable, + const char* theMenuSourceText, + const int theMenuPosition = 10) = 0; //! Insert separator into Edit menu of SALOME desktop - virtual void addEditMenuSeparator() = 0; + virtual void addDesktopMenuSeparator(const char* theMenuSourceText, + const int theMenuPosition = 10) = 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 desktop window of SALOME virtual QMainWindow* desktop() const = 0; @@ -74,8 +107,19 @@ public: //! 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 interface to Salome viewer - virtual XGUI_SalomeViewer* viewer() const = 0; + virtual ModuleBase_IViewer* viewer() const = 0; + + //! Create preferences + virtual void createPreferences() = 0; }; -#endif \ No newline at end of file +#endif