-rw-r--r-- | examples/applet/simpleimpl.cpp | 17 | ||||
-rw-r--r-- | examples/applet/simpleimpl.h | 5 |
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 | */ |
76 | SimpleAppletImpl::SimpleAppletImpl() { | 76 | SimpleAppletImpl::SimpleAppletImpl() { |
77 | } | 77 | } |
78 | /* needed cause until it is only pure virtual */ | 78 | /* needed cause until it is only pure virtual */ |
79 | SimpleAppletImpl::~SimpleAppletImpl() { | 79 | SimpleAppletImpl::~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 | */ |
85 | QWidget* SimpleAppletImpl::applet( QWidget* parent ) { | 92 | QWidget* 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 | */ |
93 | int SimpleAppletImpl::position()const { | 106 | int 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 | |||
72 | private: | ||
73 | QList<SimpleApplet> m_applets; | ||
69 | }; | 74 | }; |
70 | 75 | ||
71 | 76 | ||
72 | #endif | 77 | #endif |