1 #ifndef XGUI_SALOMECONNECTOR_H
2 #define XGUI_SALOMECONNECTOR_H
10 class XGUI_SalomeViewer;
13 * An interface which provides a connection of XGUI functionality
14 * with functionality of SALOME module interface.
16 class XGUI_EXPORT XGUI_SalomeConnector
19 //! Creates a feature (command) in SALOME desktop
20 //! \param theWBName - a workbench name
21 //! \param theId - an id of the feature
22 //! \param theTitle - a menu item string
23 //! \param theTip - a tooltip string (help)
24 //! \param theIcon - icon
25 //! \param isCheckable - is checkable or not
26 //! \param theKeys - hot keys
27 //! returns created action
28 virtual QAction* addFeature(const QString& theWBName, const QString& theId,
29 const QString& theTitle, const QString& theTip, const QIcon& theIcon,
30 const QKeySequence& theKeys, bool isCheckable) = 0;
32 //! Creates a command in Edit menu of SALOME desktop
33 //! \param theId - an id of the feature
34 //! \param theTitle - a menu item string
35 //! \param theTip - a tooltip string (help)
36 //! \param theIcon - icon
37 //! \param isCheckable - is checkable or not
38 //! \param theKeys - hot keys
39 //! returns created action
40 virtual QAction* addEditCommand(const QString& theId, const QString& theTitle,
41 const QString& theTip, const QIcon& theIcon,
42 const QKeySequence& theKeys, bool isCheckable) = 0;
44 //! Insert separator into Edit menu of SALOME desktop
45 virtual void addEditMenuSeparator() = 0;
47 //! Returns desktop window of SALOME
48 virtual QMainWindow* desktop() const = 0;
50 //! Returns command string Id by QAction instance
51 virtual QString commandId(const QAction* theCmd) const = 0;
53 //! Returns QAction instance by command string Id
54 virtual QAction* command(const QString& theId) const = 0;
56 //! Returns list of defined actions (just by NewGeom module)
57 virtual QList<QAction*> commandList() const = 0;
59 //! Returns list of Ids of defined actions (just by NewGeom module)
60 virtual QStringList commandIdList() const = 0;
62 //! Set nested actions dependent on command Id
63 //! \param theId - the command ID
64 //! \param theActions - the list of nested actions
65 virtual void setNestedActions(const QString& theId, const QStringList& theActions) = 0;
67 //! Returns list of nested actions according to the given command ID
68 virtual QStringList nestedActions(const QString& theId) const = 0;
70 //! Returns interface to Salome viewer
71 virtual XGUI_SalomeViewer* viewer() const = 0;