diff options
Diffstat (limited to 'kommander/working/plugintemplate/widget.cpp')
-rw-r--r-- | kommander/working/plugintemplate/widget.cpp | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/kommander/working/plugintemplate/widget.cpp b/kommander/working/plugintemplate/widget.cpp new file mode 100644 index 00000000..73ec0278 --- /dev/null +++ b/kommander/working/plugintemplate/widget.cpp @@ -0,0 +1,116 @@ +%{CPP_TEMPLATE} +#include "%{APPNAMELC}.h" + +#include <kommanderplugin.h> +#include <specials.h> + +#include <kglobal.h> +#include <kiconloader.h> +#include <klocale.h> + + +enum Functions { + FirstFunction = 11001, //CHANGE THIS NUMBE TO AN UNIQUE ONE!!! + Function1, + Function2, + LastFunction +}; + +%{APPNAME}::%{APPNAME}(QWidget *parent, const char *name) + : QWidget(parent, name), KommanderWidget(this) +{ + QStringList states; + states << "default"; + setStates(states); + setDisplayStates(states); + +//enable the below code to show a different widget in editor +/* + if (KommanderWidget::inEditor) + { + setPixmap(KGlobal::iconLoader()->loadIcon("%{APPNAMELC}", KIcon::NoGroup, KIcon::SizeMedium)); + setFrameStyle(QFrame::Box | QFrame::Plain); + setLineWidth(1); + setAlignment(Qt::AlignCenter); + } + else + setHidden(true); +*/ + + KommanderPlugin::setDefaultGroup(Group::DCOP); + +//CHANGE THE BELOW LINES TO MATCH YOUR FUNCTIONS NAMES AND SIGNATURE + KommanderPlugin::registerFunction(Function1, "function1(QString widget, QString arg1, int arg2)", i18n("Call function1 with two arguments, second is optional."), 2, 3); + KommanderPlugin::registerFunction(Function2, "function2(QString widget)", i18n("Get a QString as a result of function2."), 1); + +} + +%{APPNAME}::~%{APPNAME}() +{ +} + +QString %{APPNAME}::currentState() const +{ + return QString("default"); +} + +bool %{APPNAME}::isKommanderWidget() const +{ + return true; +} + +QStringList %{APPNAME}::associatedText() const +{ + return KommanderWidget::associatedText(); +} + +void %{APPNAME}::setAssociatedText(const QStringList& a_atext) +{ + KommanderWidget::setAssociatedText(a_atext); +} + +void %{APPNAME}::setPopulationText(const QString& a_text) +{ + KommanderWidget::setPopulationText(a_text); +} + +QString %{APPNAME}::populationText() const +{ + return KommanderWidget::populationText(); +} + +void %{APPNAME}::populate() +{ + KommanderWidget::evalAssociatedText(populationText()); +} + +void %{APPNAME}::contextMenuEvent( QContextMenuEvent * e ) +{ + e->accept(); + QPoint p = e->globalPos(); + emit contextMenuRequested(p.x(), p.y()); +} + + +bool %{APPNAME}::isFunctionSupported(int f) +{ + return (f >= FirstFunction && f <= LastFunction); //see specials.h for other DCOP functions you might want to support +} + +QString %{APPNAME}::handleDCOP(int function, const QStringList& args) +{ + switch (function) + { + case Function1: + //do something for Function1, like handleFunction1(arg[0], arg[1].toInt()); + break; + case Function2: + //do something for Function2, like return handleFunction2(); + break; + default: + return KommanderWidget::handleDCOP(function, args); + } + return QString::null; +} + +#include "%{APPNAMELC}.moc" |