summaryrefslogtreecommitdiff
path: root/examples/menuapplet
Side-by-side diff
Diffstat (limited to 'examples/menuapplet') (more/less context) (ignore whitespace changes)
-rw-r--r--examples/menuapplet/config.in4
-rw-r--r--examples/menuapplet/example.cpp78
-rw-r--r--examples/menuapplet/example.h33
-rw-r--r--examples/menuapplet/menuapplet.pro12
4 files changed, 127 insertions, 0 deletions
diff --git a/examples/menuapplet/config.in b/examples/menuapplet/config.in
new file mode 100644
index 0000000..f5b4c24
--- a/dev/null
+++ b/examples/menuapplet/config.in
@@ -0,0 +1,4 @@
+ config EXAMPLE_MENU
+ boolean "Menu Applet"
+ default "y"
+ depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE
diff --git a/examples/menuapplet/example.cpp b/examples/menuapplet/example.cpp
new file mode 100644
index 0000000..8ae77da
--- a/dev/null
+++ b/examples/menuapplet/example.cpp
@@ -0,0 +1,78 @@
+#include "example.h"
+
+#include <qpe/applnk.h>
+#include <qpe/resource.h>
+
+/* QT */
+#include <qiconset.h>
+#include <qpopupmenu.h>
+#include <qmessagebox.h>
+
+
+MenuAppletExample::MenuAppletExample()
+ :QObject( 0, "MenuAppletExample" )
+{
+}
+
+MenuAppletExample::~MenuAppletExample ( )
+{}
+
+int MenuAppletExample::position() const
+{
+ return 3;
+}
+
+QString MenuAppletExample::name() const
+{
+ return tr( "MenuApplet Example Name" );
+}
+
+QString MenuAppletExample::text() const
+{
+ return tr( "Click the white rabbit" );
+}
+
+
+QIconSet MenuAppletExample::icon() const
+{
+ QPixmap pix;
+ QImage img = Resource::loadImage( "Tux" );
+ if ( !img.isNull() )
+ pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
+ return pix;
+}
+
+QPopupMenu* MenuAppletExample::popup(QWidget*) const
+{
+ /* no subdir */
+ return 0;
+}
+
+void MenuAppletExample::activated()
+{
+ QMessageBox::information(0,tr("No white rabbit found"),
+ tr("<qt>No white rabbit was seen near Opie."
+ "Only the beautiful OpieZilla is available"
+ "for your pleassure</qt>"));
+}
+
+
+QRESULT MenuAppletExample::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
+{
+ *iface = 0;
+ if ( uuid == IID_QUnknown )
+ *iface = this;
+ else if ( uuid == IID_MenuApplet )
+ *iface = this;
+ else
+ return QS_FALSE;
+
+ if ( *iface )
+ (*iface)->addRef();
+ return QS_OK;
+}
+
+Q_EXPORT_INTERFACE()
+{
+ Q_CREATE_INSTANCE( MenuAppletExample )
+}
diff --git a/examples/menuapplet/example.h b/examples/menuapplet/example.h
new file mode 100644
index 0000000..ec507dd
--- a/dev/null
+++ b/examples/menuapplet/example.h
@@ -0,0 +1,33 @@
+#ifndef OPIE_EXAMPLE_MENU_APPLET_H
+#define OPIE_EXAMPLE_MENU_APPLET_H
+
+#include <qpe/menuappletinterface.h>
+#include <qobject.h>
+
+#include <qobject.h>
+
+class MenuAppletExample : public QObject, public MenuAppletInterface
+{
+
+ Q_OBJECT
+
+public:
+ MenuAppletExample ( );
+ virtual ~MenuAppletExample ( );
+
+ QRESULT queryInterface( const QUuid&, QUnknownInterface** );
+ Q_REFCOUNT
+
+ virtual int position() const;
+
+ virtual QString name ( ) const;
+ virtual QIconSet icon ( ) const;
+ virtual QString text ( ) const;
+ /* virtual QString tr( const char* ) const;
+ virtual QString tr( const char*, const char* ) const;
+ */
+ virtual QPopupMenu *popup ( QWidget *parent ) const;
+ virtual void activated ( );
+};
+
+#endif
diff --git a/examples/menuapplet/menuapplet.pro b/examples/menuapplet/menuapplet.pro
new file mode 100644
index 0000000..3567a2e
--- a/dev/null
+++ b/examples/menuapplet/menuapplet.pro
@@ -0,0 +1,12 @@
+TEMPLATE = lib
+CONFIG += qt plugn warn_on release
+HEADERS = example.h
+SOURCES = example.cpp
+TARGET = example_applet
+DESTDIR = $(OPIEDIR)/plugins/applets
+INCLUDEPATH += $(OPIEDIR)/include
+DEPENDPATH += $(OPIEDIR)/include
+LIBS += -lqpe
+VERSION = 1.0.0
+
+include ( $(OPIEDIR)/include.pro )