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
16class QPoint;
17class QEvent;
18class QMenu;
19
20class CAMainWin;
21class CADocument;
22
23class CAPluginAction;
24
25class 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;
107
108 QMultiHash< QString, CAPluginAction* > _actionMap;
109 QHash< QString, QMenu* > _menuMap;
110};
111#endif /*PLUGIN_H_*/
Class which represents the current document.
Definition: document.h:19
Canorus main window Class CAMainWin represents Canorus main window. The core layout is generated usin...
Definition: plugins_swig.h:6
Definition: pluginaction.h:15
Definition: plugin.h:25
QString date()
Definition: plugin.h:73
void setVersion(QString version)
Definition: plugin.h:84
bool action(QString onAction, CAMainWin *mainWin=0, CADocument *document=0, QEvent *evt=0, QPoint *coords=0)
Definition: plugin.cpp:66
QMenu * menu(QString menuName)
Definition: plugin.h:79
QString _dirName
Definition: plugin.h:103
QHash< QString, QString > _descMap
Definition: plugin.h:99
void setHomeUrl(QString homeUrl)
Definition: plugin.h:87
QString _version
Definition: plugin.h:101
void addAction(CAPluginAction *action)
Definition: plugin.cpp:281
void setEnabled(bool enabled)
Definition: plugin.h:67
QString _author
LOCALE description of the plugin, key means the language code, value is the translation....
Definition: plugin.h:100
QList< QString > actionList()
Definition: plugin.h:95
QString homeUrl()
Definition: plugin.h:75
void setDescription(QString desc, QString lang=QString(""))
Definition: plugin.h:82
QString author()
Definition: plugin.h:71
void setDate(QString date)
Definition: plugin.h:85
bool callAction(CAPluginAction *action, CAMainWin *mainWin=0, CADocument *document=0, QEvent *evt=0, QPoint *coords=0, QString filename="")
Definition: plugin.cpp:81
bool _enabled
Definition: plugin.h:106
QString name()
Definition: plugin.h:70
void setDirName(QString dirName)
Definition: plugin.h:86
CAPlugin()
Definition: plugin.cpp:32
void setUpdateUrl(QString updateUrl)
Definition: plugin.h:88
~CAPlugin()
Definition: plugin.cpp:56
QString _updateUrl
Definition: plugin.h:105
QHash< QString, QMenu * > _menuMap
Key: onAction, Value: plugin's action.
Definition: plugin.h:109
QString dirName()
Definition: plugin.h:74
QString description(QString lang)
Definition: plugin.h:77
QString _name
Definition: plugin.h:98
void setAuthor(QString author)
Definition: plugin.h:83
QString _date
Definition: plugin.h:102
QString _homeUrl
ABSOLUTE Name of directory where the plugin is located - plugin only stores the relative one,...
Definition: plugin.h:104
QString version()
Definition: plugin.h:72
bool isEnabled()
Definition: plugin.h:68
QMultiHash< QString, CAPluginAction * > _actionMap
Definition: plugin.h:108
QString updateUrl()
Definition: plugin.h:76
void setName(QString name)
Definition: plugin.h:81
QString localDescription()
Definition: plugin.h:78
void addMenu(QString name, QMenu *menu)
Definition: plugin.h:65