00001
00002
00003
00004
00005
00006
00007 #include "EngaugeAssert.h"
00008 #include "GridLine.h"
00009 #include <qdebug.h>
00010 #include <QGraphicsItem>
00011 #include <QGraphicsScene>
00012 #include <QPen>
00013
00014 GridLine::GridLine ()
00015 {
00016 }
00017
00018 GridLine::~GridLine ()
00019 {
00020
00021
00022 for (int i = 0; i < m_segments.count(); i++) {
00023 QGraphicsItem *item = m_segments [i];
00024 delete item;
00025 }
00026
00027 m_segments.clear ();
00028 }
00029
00030 GridLine::GridLine (const GridLine & )
00031 {
00032 ENGAUGE_ASSERT (false);
00033 }
00034
00035 GridLine &GridLine::operator= (GridLine & )
00036 {
00037 ENGAUGE_ASSERT (false);
00038
00039 return *this;
00040 }
00041
00042 void GridLine::add (QGraphicsItem *item)
00043 {
00044 m_segments.push_back (item);
00045 }
00046
00047 void GridLine::setPen (const QPen &pen)
00048 {
00049 for (int i = 0; i < m_segments.count(); i++) {
00050 QGraphicsItem *item = m_segments [i];
00051 if (item != 0) {
00052
00053
00054 QGraphicsLineItem *itemLine = dynamic_cast<QGraphicsLineItem*> (item);
00055 QGraphicsEllipseItem *itemArc = dynamic_cast<QGraphicsEllipseItem*> (item);
00056 if (itemLine != 0) {
00057 itemLine->setPen (pen);
00058 } else if (itemArc != 0) {
00059 itemArc->setPen (pen);
00060 }
00061 }
00062 }
00063 }
00064
00065 void GridLine::setVisible (bool visible)
00066 {
00067 for (int i = 0; i < m_segments.count(); i++) {
00068 QGraphicsItem *item = m_segments [i];
00069 item->setVisible (visible);
00070 }
00071 }