summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--examples/LICENSE4
-rw-r--r--examples/README10
-rw-r--r--examples/applet/simpleimpl.cpp17
-rw-r--r--examples/applet/simpleimpl.h5
4 files changed, 33 insertions, 3 deletions
diff --git a/examples/LICENSE b/examples/LICENSE
new file mode 100644
index 0000000..bb4d39f
--- a/dev/null
+++ b/examples/LICENSE
@@ -0,0 +1,4 @@
+(C) 2003 Holger 'zecke' Freyther
+
+Examples are part of the Opie Examples series. The example
+series may be used, distributed and modified without limitation.
diff --git a/examples/README b/examples/README
index 3003830..a84e8ee 100644
--- a/examples/README
+++ b/examples/README
@@ -12,17 +12,25 @@ show how to include apps properly.
Note: to integrate your apps into the build
make clean-configs
put your application into a sourcedir
edit $OPIEDIR/packages
make
+Naming Conventions:
+ Most of the time we prefix member variables with m_. This allows
+ us to see if a variable in a function is a member
+ or on the stack.
+ Function naming we use setFooBar() but fooBar() to get the
+ value. So please skip the get you're used from Java.
+ Other than that please try to avoid #ifdef and #defines
+ use const but we do not have any coding style convetions.
simple/ - Simple Widget with quit button
simple-icon - Simple Widget with loading resources and playing simple sound
simple-main - Simple QMainWindow usage with toolbar and actions
main-tab - QMainWindow with central tab widget
-simple-pim - QMainWindow + QListView + PIM
+simple-pim - QMainWindow + QListView + PIM + QCOP
big-pim - Usage of Opie PIM with BigScreen Extension
Compile by setting your environment (QTDIR, QMAKESPEC, PATH, OPIEDIR )
qmake -o Makefile example.pro \ No newline at end of file
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
@@ -74,20 +74,33 @@ void SimpleApplet::paintEvent( QPaintEvent* ) {
* Here comes the implementation of the interface
*/
SimpleAppletImpl::SimpleAppletImpl() {
}
/* needed cause until it is only pure virtual */
SimpleAppletImpl::~SimpleAppletImpl() {
+ /*
+ * we will delete our applets as well
+ * setAUtoDelete makes the QList free
+ * the objects behind the pointers
+ */
+ m_applets.setAutoDelete( true );
+ m_applets.clear();
}
/*
* For the taskbar interface return a Widget
*/
QWidget* SimpleAppletImpl::applet( QWidget* parent ) {
- /* ownership has the parent */
- return new SimpleApplet( parent );
+ /*
+ * There are problems with ownership. So we add
+ * our ownlist and clear this;
+ */
+ SimpleApplet* ap = new SimpleApplet( parent );
+ m_applets.append( ap );
+
+ return ap;
}
/*
* A small hint where the Applet Should be displayed
*/
int SimpleAppletImpl::position()const {
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
@@ -26,12 +26,14 @@
* The taskbar applet interfaces wants us to implement position() and applet()
* additionally we need to implement add(), release() and queryInterface for QUnknownInterface
* luckiy there is a macro for the reference counting
* We provide an Implementation of the interface.
*/
#include <qwidget.h>
+#include <qlist.h>
+
#include <qpe/taskbarappletinterface.h>
/*
* Because we only draw an Icon in a fixed width and height
* we declare and define SimpleApplet here and you could use QLabel
@@ -63,10 +65,13 @@ public:
/*
* macro for reference countint
* if reference drops to zero
* delete this is called
*/
Q_REFCOUNT
+
+private:
+ QList<SimpleApplet> m_applets;
};
#endif