Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
/home/iurt/rpm/BUILD/canorus-0.7.R1002/src/interface/pluginaction.h
Go to the documentation of this file.
00001 
00008 #ifndef PLUGINACTION_H_
00009 #define PLUGINACTION_H_
00010 
00011 #include <QAction>
00012 
00013 #include "interface/plugin.h"
00014 
00015 class CAPluginAction : public QAction {
00016 #ifndef SWIG
00017         Q_OBJECT
00018 #endif
00019 public:
00020         CAPluginAction(CAPlugin *plugin, QString name, QString lang, QString function, QList<QString> args, QString filename);
00021 
00022         inline CAPlugin *plugin() { return _plugin; }
00023         inline QString name() { return _name; }
00024         inline QString lang() { return _lang; }
00025         inline QString function() { return _function; }
00026         inline QList<QString> args() { return _args; }
00027         inline QString filename() { return _filename; }
00028         inline QString onAction() { return _onAction; }
00029         inline QString exportFilter(QString lang) { return _exportFilter[lang]; }
00030         QString localExportFilter() { if (_exportFilter.contains(QLocale::system().name())) return exportFilter(QLocale::system().name()); else return exportFilter(""); }
00031         inline QString importFilter(QString lang) { return _importFilter[lang]; }
00032         QString localImportFilter() { if (_importFilter.contains(QLocale::system().name())) return exportFilter(QLocale::system().name()); else return importFilter(""); }
00033         inline QString localeText(QString lang) { return _text[lang]; }
00034         QString localText() { if (_text.contains(QLocale::system().name())) return localeText(QLocale::system().name()); else return localeText(""); }
00035         bool refresh() { return _refresh; }
00036 
00037         void setPlugin(CAPlugin *plugin) { _plugin = plugin; }
00038         void setName(QString name) { _name = name; }
00039         void setLang(QString lang) { _lang = lang; }
00040         void setFunction(QString function) { _function = function; }
00041         void addArgument(QString arg) { _args << arg; }
00042         bool removeArgument(QString arg) { _args.removeAll(arg); }
00043         void setFilename(QString filename) { _filename = filename; }
00044         void setOnAction(QString onAction) { _onAction = onAction; }
00045         void setExportFilter(QString lang, QString value) { _exportFilter[lang] = value; }
00046         void setExportFilters(QHash< QString, QString > f) { _exportFilter = f; }
00047         void setImportFilter(QString lang, QString value) { _importFilter[lang] = value; }
00048         void setImportFilters(QHash< QString, QString > f) { _importFilter = f; }
00049         void setLocaleText(QString lang, QString value) { _text[lang] = value;  this->setText(localText()); }
00050         void setTexts(QHash< QString, QString > t) { _text = t; this->setText(localText()); }
00051         void setRefresh(bool refresh) { _refresh = refresh; }
00052 
00053 private:
00054         CAPlugin *_plugin;                     
00055         QString _name;                         
00056         QString _lang;                         
00057         QString _function;                     
00058         QList<QString> _args;                  
00059         QString _filename;                     
00060         QString _onAction;                     
00061         QHash<QString, QString> _exportFilter; 
00062         QHash<QString, QString> _importFilter; 
00063         QHash<QString, QString> _text;         
00064         bool _refresh;                         
00065 
00066 #ifndef SWIG
00067 private slots:
00068         void triggeredSlot(bool);              
00069 
00070 signals:
00071         void triggered(QAction*, bool);        
00072 #endif
00073 };
00074 
00075 #endif /* PLUGINACTION_H_ */