3 /////////////////////////////////////////////////////////////////
5 /////////////////////////////////////////////////////////////////
8 // cout << "Const FlagObj ()\n";
12 FlagObj::FlagObj(QGraphicsScene* s):MapObj(s)
14 // cout << "Const FlagObj this="<<this<<" scene="<<s<<endl;
18 FlagObj::FlagObj (FlagObj* io)
25 // cout << "Destr FlagObj this="<<this <<" " << qPrintable(name) << "\n";
26 if (icon) delete (icon);
35 icon=new ImageObj (scene);
36 icon->setPos (absPos.x(), absPos.y() );
43 void FlagObj::copy (FlagObj* other)
48 tooltip=other->tooltip;
52 icon->copy(other->icon);
54 setVisibility (other->isVisibleObj() );
57 void FlagObj::move(double x, double y)
64 void FlagObj::moveBy(double x, double y)
66 move (x+absPos.x(),y+absPos.y() );
69 void FlagObj::setVisibility (bool v)
71 MapObj::setVisibility(v);
73 icon->setVisibility(true);
75 icon->setVisibility(false);
78 void FlagObj::load (const QString &fn)
85 void FlagObj::load (const QPixmap &pm)
92 void FlagObj::setName(const QString &n)
97 const QString FlagObj::getName()
102 void FlagObj::setGroup (const QString &n)
107 const QString FlagObj::getGroup()
112 void FlagObj::unsetGroup()
117 void FlagObj::setToolTip(const QString &n)
122 const QString FlagObj::getToolTip()
127 QPixmap FlagObj::getPixmap()
129 return icon->pixmap();
132 void FlagObj::setAction (QAction* a)
137 void FlagObj::updateAction ()
141 action->setChecked(state);
143 action->setVisible(state);
147 void FlagObj::setAlwaysVisible(bool b)
152 bool FlagObj::isAlwaysVisible()
157 bool FlagObj::isActive()
162 void FlagObj::toggle()
170 void FlagObj::activate()
173 // only show icon, if flag itself is visible
176 icon->setVisibility (true);
181 void FlagObj::deactivate()
184 // if flag itself is invisible we don't need to call
187 icon->setVisibility (false);
192 void FlagObj::setUsed (bool b)
197 bool FlagObj::isUsed()
202 void FlagObj::saveToDir (const QString &tmpdir, const QString &prefix)
204 QString fn=tmpdir + prefix + name + ".png";
205 icon->save (fn,"PNG");
208 void FlagObj::positionBBox()
210 bbox.moveTopLeft (absPos );
211 clickBox.moveTopLeft (absPos );
214 void FlagObj::calcBBoxSize()
216 if (visible && state)
217 bbox.setSize ( QSizeF(
218 icon->boundingRect().width(),
219 icon->boundingRect().height() ) );
221 bbox.setSize (QSizeF(0,0));
222 clickBox.setSize (bbox.size());