summaryrefslogtreecommitdiff
path: root/examples/applet/simpleimpl.cpp
blob: d7e2db9df00a0a1a9a0e915b6743af08029ab9e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

#include "simpleimpl.h"

#include <opie2/oresource.h> // for OResource loading
#include <opie2/otaskbarapplet.h>

#include <qpe/applnk.h> // for AppLnk

#include <qlabel.h>
#include <qpainter.h>
#include <qmessagebox.h>




SimpleApplet::SimpleApplet(QWidget *parent)
    : QWidget( parent,  "Simple Applet" ) {
/*
 * we will load an Pixmap, scaled for the right usage
 * remember your applet might be used by different
 * resolutions.
 */

    m_pix = new QPixmap( Opie::Core::OResource::loadPixmap("Tux", Opie::Core::OResource::SmallIcon) );

    /*
     * Now we will say that we don't want to be bigger than our
     * Pixmap
     */
    setFixedHeight( AppLnk::smallIconSize() );
    setFixedWidth( AppLnk::smallIconSize() );

}

SimpleApplet::~SimpleApplet() {
    delete m_pix;
}


/*
 * here you would normal show or do something
 * useful. If you want to show a widget at the top left
 * of your icon you need to map your rect().topLeft() to
 * global with mapToGlobal(). Then you might also need to
 * move the widgets so it is visible
 */
void SimpleApplet::mousePressEvent(QMouseEvent* ) {
    QMessageBox::information(this, tr("No action taken"),
                             tr("<qt>This Plugin does not yet support anything usefule aye.</qt>"),
                             QMessageBox::Ok );

}

void SimpleApplet::paintEvent( QPaintEvent* ) {
    QPainter p(this);

    /* simpy draw the pixmap from the start of this widget */
    p.drawPixmap(0, 0,  *m_pix );
}

/*
 * We need to add this symbol for the plugin exporter!
 */
int SimpleApplet::position(){
    return 1;
}



/*
 * Here comes the implementation of the interface
 */
EXPORT_OPIE_APPLET_v1( SimpleApplet )