diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:10:39 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:10:39 +0000 |
commit | e7b830ab561638ed25822054be80ce12e8801d38 (patch) | |
tree | a5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/examples/Display/NavDisplayGUI_exec/NodeItem.cpp | |
parent | 9b720f395833b3ce2f499463e5fed37a0da926f4 (diff) | |
download | ATCD-DiffServ-Merge.tar.gz |
branching/taggingDiffServ-Merge
Diffstat (limited to 'modules/CIAO/examples/Display/NavDisplayGUI_exec/NodeItem.cpp')
-rw-r--r-- | modules/CIAO/examples/Display/NavDisplayGUI_exec/NodeItem.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/modules/CIAO/examples/Display/NavDisplayGUI_exec/NodeItem.cpp b/modules/CIAO/examples/Display/NavDisplayGUI_exec/NodeItem.cpp new file mode 100644 index 00000000000..f1567d8f4c0 --- /dev/null +++ b/modules/CIAO/examples/Display/NavDisplayGUI_exec/NodeItem.cpp @@ -0,0 +1,63 @@ +// $Id$ + +#include "NodeItem.h" +//#include <qbrush.h> + + +QBrush *NodeItem::normal = new QBrush(red); +QBrush *NodeItem::highlighted = new QBrush(green); + + +NodeItem::NodeItem(QCanvas *canvas, NavUnit &unit) + : QCanvasEllipse(8, 8, canvas), + unit_(unit), + blink_timer(canvas), + is_selected_(0) +{ + setBrush(*normal); + setZ(128); +} + + +void NodeItem::moveBy(double dx, double dy, double /* dz */) +{ + QCanvasEllipse::moveBy (dx, dy); +} + + +void +NodeItem::timerDone() +{ + if(selected()) + { + if(brush() == *normal) + setBrush(*highlighted); + else + setBrush(*normal); + + canvas()->update(); + } +} + + +void +NodeItem::setSelected(bool yes) +{ + is_selected_ = yes; + + if(yes) + { + connect(&blink_timer, SIGNAL(timeout()), + SLOT(timerDone())); + + blink_timer.start(500); + } + else + { + blink_timer.stop(); + disconnect(SIGNAL(timeout()), this, + SLOT(timerDone())); + setBrush(*normal); + canvas()->update(); + } +} |