5 /////////////////////////////////////////////////////////////////
7 /////////////////////////////////////////////////////////////////
10 // cout << "Const FlagObj ()\n";
14 FlagObj::FlagObj(Q3Canvas* c):MapObj(c)
16 // cout << "Const FlagObj canvas="<<c<<endl;
20 FlagObj::FlagObj (FlagObj* io)
27 // cout << "Destr FlagObj " << name << "\n";
28 if (icon) delete (icon);
37 icon=new ImageObj (canvas);
38 icon->move (absPos.x(), absPos.y() );
43 void FlagObj::copy (FlagObj* other)
48 tooltip=other->tooltip;
50 icon->copy(other->icon);
51 setVisibility (other->isVisibleObj() );
52 // button is not copied, because
53 // we won't copy to a parentRow and
54 // all others don't need a button
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::setToolTip(const QString &n)
117 const QString FlagObj::getToolTip()
122 void FlagObj::setButton(QAction* b)
127 void FlagObj::updateButton()
130 button->setOn(state);
132 qWarning ("FlagObj::updateButton no button defined");
135 QPixmap FlagObj::getPixmap()
137 return icon->getPixmap();
140 bool FlagObj::isActive()
145 void FlagObj::toggle()
153 void FlagObj::activate()
156 // only show icon, if flag itself is visible
159 icon->setVisibility (true);
164 void FlagObj::deactivate()
167 // if flag itself is invisible we don't need to call
170 icon->setVisibility (false);
175 void FlagObj::setEnabled(bool b)
177 button->setEnabled (b);
181 void FlagObj::setUsed (bool b)
186 bool FlagObj::isUsed()
191 void FlagObj::saveToDir (const QString &tmpdir, const QString &prefix)
193 QString fn=tmpdir + prefix + name + ".png";
194 icon->save (fn,"PNG");
197 void FlagObj::positionBBox()
199 bbox.moveTopLeft (absPos );
200 clickBox.moveTopLeft (absPos );
203 void FlagObj::calcBBoxSize()
205 if (visible && state)
207 bbox.setSize ( QSize(
208 icon->boundingRect().width(),
209 icon->boundingRect().height() ) );
212 bbox.setSize (QSize(0,0));
214 clickBox.setSize (bbox.size());