#ifndef LWIDGETACTION_H #define LWIDGETACTION_H #include "MenuLocation.h" #include "ToolbarLocation.h" #include #include #include /** Action definition for a specific widget instance, it uses a slotname * so the action can be defined before the widget instance is created. * The plugin mechanism will take care of instantiating a connection to the named slot. */ class LContextAction { public: /// /// \param slotname, use SLOT macro to pass name of the slot LContextAction(QString text, const char * slotname); const QIcon& icon() const; const MenuLocation& menuLocation() const; void setIcon(QIcon icon); void setIcon(const char * icon) { setIcon(QIcon(icon)); } void setMenuLocation(MenuLocation menu_location); void setMenuLocation(const char * menu_location) { setMenuLocation(MenuPath(menu_location)); } void setToolbarLocation(ToolbarLocation toolbar_location); void setShortcut(QKeySequence shortcut); void setText(QString text); void setToolTip(QString tooltip); const QKeySequence& shortcut() const; const char* slotName() const { return m_slotname; } const QString& text() const; const QString& toolTip() const; private: QString m_text; QString m_toolTip; QIcon m_icon; QKeySequence m_shortCut; MenuLocation m_menuLocation; ToolbarLocation m_toolbarLocation; const char * m_slotname; }; #endif // LWIDGETACTION_H