summaryrefslogtreecommitdiff
path: root/libopie/oclickablelabel.cpp
authorzecke <zecke>2003-04-13 16:57:28 (UTC)
committer zecke <zecke>2003-04-13 16:57:28 (UTC)
commit0b311079ff19798866291034663757103c6ba935 (patch) (unidiff)
tree70ddccf3a3147475050fa06cc2d807a71ab1d5ee /libopie/oclickablelabel.cpp
parent1537ccb435ca725c793db6e94e0b9e83484b57e7 (diff)
downloadopie-0b311079ff19798866291034663757103c6ba935.zip
opie-0b311079ff19798866291034663757103c6ba935.tar.gz
opie-0b311079ff19798866291034663757103c6ba935.tar.bz2
Jumbo API documentation update
and some API fixed ColorDialog is now OColorDialog!!! keep the namespace tidy! ColorPopupMenu is now OColorPopupMenu!!! keep the namespace tidy ColorDialog TT couldn't break bc we can so make it const QColor& OTimePicker add some convience methods more I might have forgot
Diffstat (limited to 'libopie/oclickablelabel.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/oclickablelabel.cpp33
1 files changed, 31 insertions, 2 deletions
diff --git a/libopie/oclickablelabel.cpp b/libopie/oclickablelabel.cpp
index 5768529..bc7037b 100644
--- a/libopie/oclickablelabel.cpp
+++ b/libopie/oclickablelabel.cpp
@@ -1,88 +1,117 @@
1#include "oclickablelabel.h" 1#include "oclickablelabel.h"
2#include <stdio.h> 2#include <stdio.h>
3 3
4OClickableLabel::OClickableLabel(QWidget* parent, 4/**
5 const char* name, 5 * This constructs the clickable ButtonLabel
6 *
7 * @param parent The parent of this label
8 * @param name A name of this label @see QObject
9 * @param fl The windowing flags
10 */
11OClickableLabel::OClickableLabel(QWidget* parent,
12 const char* name,
6 WFlags fl) : 13 WFlags fl) :
7 QLabel(parent,name,fl) 14 QLabel(parent,name,fl)
8{ 15{
9 textInverted=false; 16 textInverted=false;
10 isToggle=false; 17 isToggle=false;
11 isDown=false; 18 isDown=false;
12 showState(false); 19 showState(false);
13 setFrameShadow(Sunken); 20 setFrameShadow(Sunken);
14} 21}
15 22
23/**
24 * This method makes the label behave as a toggle button
25 *
26 * @param t Whether or not to behave like a toggle button
27 */
16void OClickableLabel::setToggleButton(bool t) { 28void OClickableLabel::setToggleButton(bool t) {
17 isToggle=t; 29 isToggle=t;
18} 30}
19 31
32/**
33 * @internal
34 */
20void OClickableLabel::mousePressEvent( QMouseEvent * /*e*/ ) { 35void OClickableLabel::mousePressEvent( QMouseEvent * /*e*/ ) {
21 if (isToggle && isDown) { 36 if (isToggle && isDown) {
22 showState(false); 37 showState(false);
23 } else { 38 } else {
24 showState(true); 39 showState(true);
25 } 40 }
26} 41}
27 42
43/**
44 * @internal
45 */
28void OClickableLabel::mouseReleaseEvent( QMouseEvent *e ) { 46void OClickableLabel::mouseReleaseEvent( QMouseEvent *e ) {
29 if (rect().contains(e->pos()) && isToggle) isDown=!isDown; 47 if (rect().contains(e->pos()) && isToggle) isDown=!isDown;
30 48
31 if (isToggle && isDown) { 49 if (isToggle && isDown) {
32 showState(true); 50 showState(true);
33 } else { 51 } else {
34 showState(false); 52 showState(false);
35 } 53 }
36 54
37 if (rect().contains(e->pos())) { 55 if (rect().contains(e->pos())) {
38 if (isToggle) { 56 if (isToggle) {
39 emit toggled(isDown); 57 emit toggled(isDown);
40 } 58 }
41 emit clicked(); 59 emit clicked();
42 } 60 }
43} 61}
44 62
63/**
64 * @internal
65 */
45void OClickableLabel::mouseMoveEvent( QMouseEvent *e ) { 66void OClickableLabel::mouseMoveEvent( QMouseEvent *e ) {
46 if (rect().contains(e->pos())) { 67 if (rect().contains(e->pos())) {
47 if (isToggle && isDown) { 68 if (isToggle && isDown) {
48 showState(false); 69 showState(false);
49 } else { 70 } else {
50 showState(true); 71 showState(true);
51 } 72 }
52 } else { 73 } else {
53 if (isToggle && isDown) { 74 if (isToggle && isDown) {
54 showState(true); 75 showState(true);
55 } else { 76 } else {
56 showState(false); 77 showState(false);
57 } 78 }
58 } 79 }
59} 80}
60 81
82/**
83 * this toggles the label and inverts the color of
84 * the label
85 * @param on
86 */
61void OClickableLabel::showState(bool on) { 87void OClickableLabel::showState(bool on) {
62 if (on) { 88 if (on) {
63 //setFrameShape(Panel); 89 //setFrameShape(Panel);
64 setInverted(true); 90 setInverted(true);
65 setBackgroundMode(PaletteHighlight); 91 setBackgroundMode(PaletteHighlight);
66 } else { 92 } else {
67 //setFrameShape(NoFrame); 93 //setFrameShape(NoFrame);
68 setInverted(false); 94 setInverted(false);
69 setBackgroundMode(PaletteBackground); 95 setBackgroundMode(PaletteBackground);
70 } 96 }
71 repaint(); 97 repaint();
72} 98}
73 99
74void OClickableLabel::setInverted(bool on) { 100void OClickableLabel::setInverted(bool on) {
75 if ( (!textInverted && on) || (textInverted && !on) ) { 101 if ( (!textInverted && on) || (textInverted && !on) ) {
76 QPalette pal=palette(); 102 QPalette pal=palette();
77 QColor col=pal.color(QPalette::Normal, QColorGroup::Foreground); 103 QColor col=pal.color(QPalette::Normal, QColorGroup::Foreground);
78 col.setRgb(255-col.red(),255-col.green(),255-col.blue()); 104 col.setRgb(255-col.red(),255-col.green(),255-col.blue());
79 pal.setColor(QPalette::Normal, QColorGroup::Foreground, col); 105 pal.setColor(QPalette::Normal, QColorGroup::Foreground, col);
80 setPalette(pal); 106 setPalette(pal);
81 textInverted=!textInverted; 107 textInverted=!textInverted;
82 } 108 }
83} 109}
84 110
111/**
112 * @param on if the Label is down or up
113 */
85void OClickableLabel::setOn(bool on) { 114void OClickableLabel::setOn(bool on) {
86 isDown=on; 115 isDown=on;
87 showState(isDown); 116 showState(isDown);
88} 117}