summaryrefslogtreecommitdiff
path: root/libopie/oclickablelabel.cpp
Side-by-side diff
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,9 +1,16 @@
#include "oclickablelabel.h"
#include <stdio.h>
-OClickableLabel::OClickableLabel(QWidget* parent,
- const char* name,
+/**
+ * This constructs the clickable ButtonLabel
+ *
+ * @param parent The parent of this label
+ * @param name A name of this label @see QObject
+ * @param fl The windowing flags
+ */
+OClickableLabel::OClickableLabel(QWidget* parent,
+ const char* name,
WFlags fl) :
QLabel(parent,name,fl)
{
textInverted=false;
@@ -12,20 +19,31 @@ OClickableLabel::OClickableLabel(QWidget* parent,
showState(false);
setFrameShadow(Sunken);
}
+/**
+ * This method makes the label behave as a toggle button
+ *
+ * @param t Whether or not to behave like a toggle button
+ */
void OClickableLabel::setToggleButton(bool t) {
isToggle=t;
}
+/**
+ * @internal
+ */
void OClickableLabel::mousePressEvent( QMouseEvent * /*e*/ ) {
if (isToggle && isDown) {
showState(false);
} else {
showState(true);
}
}
+/**
+ * @internal
+ */
void OClickableLabel::mouseReleaseEvent( QMouseEvent *e ) {
if (rect().contains(e->pos()) && isToggle) isDown=!isDown;
if (isToggle && isDown) {
@@ -41,8 +59,11 @@ void OClickableLabel::mouseReleaseEvent( QMouseEvent *e ) {
emit clicked();
}
}
+/**
+ * @internal
+ */
void OClickableLabel::mouseMoveEvent( QMouseEvent *e ) {
if (rect().contains(e->pos())) {
if (isToggle && isDown) {
showState(false);
@@ -57,8 +78,13 @@ void OClickableLabel::mouseMoveEvent( QMouseEvent *e ) {
}
}
}
+/**
+ * this toggles the label and inverts the color of
+ * the label
+ * @param on
+ */
void OClickableLabel::showState(bool on) {
if (on) {
//setFrameShape(Panel);
setInverted(true);
@@ -81,8 +107,11 @@ void OClickableLabel::setInverted(bool on) {
textInverted=!textInverted;
}
}
+/**
+ * @param on if the Label is down or up
+ */
void OClickableLabel::setOn(bool on) {
isDown=on;
showState(isDown);
}