X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_SalomeConnector.h;h=a55398cb15ef6db5ab732f78739dd6ecd0411e4b;hb=e485e56e0d3024a3ebb3eacc2da05c600a2f6694;hp=b2384b62d958f5edb9667823d16a369b861bdd42;hpb=622014f62af50bfd219fb242df168760849e2006;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_SalomeConnector.h b/src/XGUI/XGUI_SalomeConnector.h index b2384b62d..a55398cb1 100644 --- a/src/XGUI/XGUI_SalomeConnector.h +++ b/src/XGUI/XGUI_SalomeConnector.h @@ -4,12 +4,28 @@ #include "XGUI.h" #include +#include class QMainWindow; +class XGUI_SalomeViewer; +/** +* An interface which provides a connection of XGUI functionality +* with functionality of SALOME module interface. +*/ class XGUI_EXPORT XGUI_SalomeConnector { public: + //! Creates a feature (command) in SALOME desktop + //! \param theWBName - a workbench name + //! \param theId - an id of the feature + //! \param theTitle - a menu item string + //! \param theTip - a tooltip string (help) + //! \param theIcon - icon + //! \param isCheckable - is checkable or not + //! \param reciever - QObject which will react on the command call + //! \param member - a method of receiver which will be called on the command + //! \param theKeys - hot keys virtual void addFeature(const QString& theWBName, const QString& theId, const QString& theTitle, @@ -20,6 +36,15 @@ public: const char* member, const QKeySequence& theKeys) = 0; + //! Creates a command in Edit menu of SALOME desktop + //! \param theId - an id of the feature + //! \param theTitle - a menu item string + //! \param theTip - a tooltip string (help) + //! \param theIcon - icon + //! \param isCheckable - is checkable or not + //! \param reciever - QObject which will react on the command call + //! \param member - a method of receiver which will be called on the command + //! \param theKeys - hot keys virtual void addEditCommand(const QString& theId, const QString& theTitle, const QString& theTip, @@ -28,12 +53,29 @@ public: QObject* reciever, const char* member, const QKeySequence& theKeys) = 0; + + //! Insert separator into Edit menu of SALOME desktop virtual void addEditMenuSeparator() = 0; + //! Returns desktop window of SALOME virtual QMainWindow* desktop() const = 0; + //! Returns command string Id by QAction instance virtual QString commandId(const QAction* theCmd) const = 0; + + //! Returns QAction instance by command string Id virtual QAction* command(const QString& theId) 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; + + //! Returns list of nested actions according to the given command ID + virtual QStringList nestedActions(const QString& theId) const = 0; + + //! Returns interface to Salome viewer + virtual XGUI_SalomeViewer* viewer() const = 0; }; #endif \ No newline at end of file