summaryrefslogtreecommitdiff
path: root/examples/applet
Unidiff
Diffstat (limited to 'examples/applet') (more/less context) (ignore whitespace changes)
-rw-r--r--examples/applet/simpleimpl.cpp17
-rw-r--r--examples/applet/simpleimpl.h5
2 files changed, 20 insertions, 2 deletions
diff --git a/examples/applet/simpleimpl.cpp b/examples/applet/simpleimpl.cpp
index 981e0ab..82fc6e5 100644
--- a/examples/applet/simpleimpl.cpp
+++ b/examples/applet/simpleimpl.cpp
@@ -72,24 +72,37 @@ void SimpleApplet::paintEvent( QPaintEvent* ) {
72 72
73/* 73/*
74 * Here comes the implementation of the interface 74 * Here comes the implementation of the interface
75 */ 75 */
76SimpleAppletImpl::SimpleAppletImpl() { 76SimpleAppletImpl::SimpleAppletImpl() {
77} 77}
78/* needed cause until it is only pure virtual */ 78/* needed cause until it is only pure virtual */
79SimpleAppletImpl::~SimpleAppletImpl() { 79SimpleAppletImpl::~SimpleAppletImpl() {
80 /*
81 * we will delete our applets as well
82 * setAUtoDelete makes the QList free
83 * the objects behind the pointers
84 */
85 m_applets.setAutoDelete( true );
86 m_applets.clear();
80} 87}
81 88
82/* 89/*
83 * For the taskbar interface return a Widget 90 * For the taskbar interface return a Widget
84 */ 91 */
85QWidget* SimpleAppletImpl::applet( QWidget* parent ) { 92QWidget* SimpleAppletImpl::applet( QWidget* parent ) {
86 /* ownership has the parent */ 93 /*
87 return new SimpleApplet( parent ); 94 * There are problems with ownership. So we add
95 * our ownlist and clear this;
96 */
97 SimpleApplet* ap = new SimpleApplet( parent );
98 m_applets.append( ap );
99
100 return ap;
88} 101}
89 102
90/* 103/*
91 * A small hint where the Applet Should be displayed 104 * A small hint where the Applet Should be displayed
92 */ 105 */
93int SimpleAppletImpl::position()const { 106int SimpleAppletImpl::position()const {
94 return 1; 107 return 1;
95} 108}
diff --git a/examples/applet/simpleimpl.h b/examples/applet/simpleimpl.h
index 8459c96..f58e2af 100644
--- a/examples/applet/simpleimpl.h
+++ b/examples/applet/simpleimpl.h
@@ -24,16 +24,18 @@
24 24
25/* 25/*
26 * The taskbar applet interfaces wants us to implement position() and applet() 26 * The taskbar applet interfaces wants us to implement position() and applet()
27 * additionally we need to implement add(), release() and queryInterface for QUnknownInterface 27 * additionally we need to implement add(), release() and queryInterface for QUnknownInterface
28 * luckiy there is a macro for the reference counting 28 * luckiy there is a macro for the reference counting
29 * We provide an Implementation of the interface. 29 * We provide an Implementation of the interface.
30 */ 30 */
31#include <qwidget.h> 31#include <qwidget.h>
32#include <qlist.h>
33
32#include <qpe/taskbarappletinterface.h> 34#include <qpe/taskbarappletinterface.h>
33 35
34 36
35/* 37/*
36 * Because we only draw an Icon in a fixed width and height 38 * Because we only draw an Icon in a fixed width and height
37 * we declare and define SimpleApplet here and you could use QLabel 39 * we declare and define SimpleApplet here and you could use QLabel
38 * setPixmap or use QWidget and draw yourself. 40 * setPixmap or use QWidget and draw yourself.
39 * You might also want to reimplement mouse*Event to use some simple actions 41 * You might also want to reimplement mouse*Event to use some simple actions
@@ -61,12 +63,15 @@ public:
61 int position()const; 63 int position()const;
62 64
63 /* 65 /*
64 * macro for reference countint 66 * macro for reference countint
65 * if reference drops to zero 67 * if reference drops to zero
66 * delete this is called 68 * delete this is called
67 */ 69 */
68 Q_REFCOUNT 70 Q_REFCOUNT
71
72private:
73 QList<SimpleApplet> m_applets;
69}; 74};
70 75
71 76
72#endif 77#endif