Canorus  0.0
plugin.h
Go to the documentation of this file.
1 
8 #ifndef PLUGIN_H_
9 #define PLUGIN_H_
10 
11 #include <QString>
12 #include <QHash>
13 #include <QList>
14 #include <QLocale>
15 
16 class QPoint;
17 class QEvent;
18 class QMenu;
19 
20 class CAMainWin;
21 class CADocument;
22 
23 class CAPluginAction;
24 
25 class CAPlugin {
26  public:
27  CAPlugin();
28  CAPlugin(QString name, QString author, QString version, QString date, QString dirName, QString homeUrl, QString updateUrl);
29  ~CAPlugin();
30 
42  bool action(QString onAction, CAMainWin *mainWin=0, CADocument *document=0, QEvent *evt=0, QPoint *coords=0);
43 
53  bool callAction(CAPluginAction *action, CAMainWin *mainWin=0, CADocument *document=0, QEvent *evt=0, QPoint *coords=0, QString filename="");
54 
65  void addMenu(QString name, QMenu* menu) { _menuMap[name] = menu; }
66 
67  void setEnabled(bool enabled) { _enabled = enabled; }
68  bool isEnabled() { return _enabled; }
69 
70  QString name() { return _name; }
71  QString author() { return _author; }
72  QString version() { return _version; }
73  QString date() { return _date; }
74  QString dirName() { return _dirName; }
75  QString homeUrl() { return _homeUrl; }
76  QString updateUrl() { return _updateUrl; }
77  QString description(QString lang) { return _descMap[lang]; }
78  QString localDescription() { if (_descMap.contains(QLocale::system().name())) return description(QLocale::system().name()); else return description(""); }
79  QMenu *menu(QString menuName) { return _menuMap[menuName]; }
80 
81  void setName(QString name) { _name = name; }
82  void setDescription(QString desc, QString lang=QString("")) { _descMap[lang]=desc; }
83  void setAuthor(QString author) { _author = author; }
84  void setVersion(QString version) { _version = version; }
85  void setDate(QString date) { _date = date; }
86  void setDirName(QString dirName) { _dirName = dirName; }
87  void setHomeUrl(QString homeUrl) { _homeUrl = homeUrl; }
89 
95  QList<QString> actionList() { return _actionMap.keys(); }
96 
97  private:
98  QString _name;
99  QHash<QString, QString> _descMap;
100  QString _author;
101  QString _version;
102  QString _date;
103  QString _dirName;
104  QString _homeUrl;
105  QString _updateUrl;
106  bool _enabled;
107 
108  QMultiHash< QString, CAPluginAction* > _actionMap;
109  QHash< QString, QMenu* > _menuMap;
110 };
111 #endif /*PLUGIN_H_*/
~CAPlugin()
Definition: plugin.cpp:56
void setName(QString name)
Definition: plugin.h:81
void addMenu(QString name, QMenu *menu)
Definition: plugin.h:65
bool isEnabled()
Definition: plugin.h:68
void setDate(QString date)
Definition: plugin.h:85
QString name()
Definition: plugin.h:70
void setDirName(QString dirName)
Definition: plugin.h:86
CAPlugin()
Definition: plugin.cpp:32
QString date()
Definition: plugin.h:73
QString updateUrl()
Definition: plugin.h:76
QString author()
Definition: plugin.h:71
void setUpdateUrl(QString updateUrl)
Definition: plugin.h:88
void addAction(CAPluginAction *action)
Definition: plugin.cpp:281
Class which represents the current document.
Definition: document.h:19
bool action(QString onAction, CAMainWin *mainWin=0, CADocument *document=0, QEvent *evt=0, QPoint *coords=0)
Definition: plugin.cpp:66
QMultiHash< QString, CAPluginAction * > _actionMap
Definition: plugin.h:108
bool _enabled
Definition: plugin.h:106
QMenu * menu(QString menuName)
Definition: plugin.h:79
QHash< QString, QString > _descMap
Definition: plugin.h:99
void setHomeUrl(QString homeUrl)
Definition: plugin.h:87
QString _version
Definition: plugin.h:101
QString _updateUrl
Definition: plugin.h:105
QString _author
LOCALE description of the plugin, key means the language code, value is the translation....
Definition: plugin.h:100
void setDescription(QString desc, QString lang=QString(""))
Definition: plugin.h:82
void setEnabled(bool enabled)
Definition: plugin.h:67
QString version()
Definition: plugin.h:72
QList< QString > actionList()
Definition: plugin.h:95
QString description(QString lang)
Definition: plugin.h:77
Definition: pluginaction.h:15
void setAuthor(QString author)
Definition: plugin.h:83
QString _homeUrl
ABSOLUTE Name of directory where the plugin is located - plugin only stores the relative one,...
Definition: plugin.h:104
QString homeUrl()
Definition: plugin.h:75
void setVersion(QString version)
Definition: plugin.h:84
QString _dirName
Definition: plugin.h:103
QString localDescription()
Definition: plugin.h:78
QString _name
Definition: plugin.h:98
QString _date
Definition: plugin.h:102
QString dirName()
Definition: plugin.h:74
bool callAction(CAPluginAction *action, CAMainWin *mainWin=0, CADocument *document=0, QEvent *evt=0, QPoint *coords=0, QString filename="")
Definition: plugin.cpp:81
QHash< QString, QMenu * > _menuMap
Key: onAction, Value: plugin's action.
Definition: plugin.h:109
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
Definition: plugin.h:25