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