1.1 --- a/selection.cpp Mon Jan 29 12:29:13 2007 +0000
1.2 +++ b/selection.cpp Sat Mar 31 09:28:27 2007 +0000
1.3 @@ -1,17 +1,26 @@
1.4 #include "selection.h"
1.5
1.6 +#include "mainwindow.h"
1.7 +#include "mapeditor.h"
1.8 +
1.9 +
1.10 +
1.11 +extern Main *mainWindow;
1.12
1.13 Selection::Selection()
1.14 {
1.15 + color= QColor(255,255,0);
1.16 }
1.17
1.18 Selection::~Selection()
1.19 {
1.20 }
1.21
1.22 -void Selection::setMapCenter(MapCenterObj *mco)
1.23 +void Selection::setMapEditor (MapEditor *me)
1.24 {
1.25 - mapCenter=mco;
1.26 + mapEditor=me;
1.27 + mapCenter=me->getMapCenter();
1.28 + scene=mapCenter->getScene();
1.29 }
1.30
1.31 void Selection::copy(const Selection &other)
1.32 @@ -27,11 +36,44 @@
1.33 lastSelectList.clear();
1.34 }
1.35
1.36 +void Selection::update()
1.37 +{
1.38 + QRectF bbox;
1.39 + int w=0;
1.40 + for (int i=0; i< selectList.count(); ++i)
1.41 + {
1.42 + bbox=selectList.at(i)->getBBox();
1.43 + selboxList.at(i)->setRect (
1.44 + bbox.x()-w,bbox.y()-w,
1.45 + bbox.width()+2*w, bbox.height()+2*w);
1.46 + selboxList.at(i)->setPen (color);
1.47 + selboxList.at(i)->setBrush (color);
1.48 + }
1.49 +}
1.50 +
1.51 +void Selection::setColor (QColor col)
1.52 +{
1.53 + color=col;
1.54 + update();
1.55 +}
1.56 +
1.57 +QColor Selection::getColor ()
1.58 +{
1.59 + return color;
1.60 +}
1.61 +
1.62 bool Selection::select(LinkableMapObj *lmo) // TODO no multiselections yet
1.63 {
1.64 if (!selectList.isEmpty()) unselect();
1.65 selectList.append (lmo);
1.66 + QGraphicsRectItem *sb = scene->addRect(
1.67 + QRectF(0,0,0,0),
1.68 + QPen(color),
1.69 + color);
1.70 + sb->setZValue(Z_SELBOX);
1.71 + selboxList.append (sb);
1.72 lmo->select();
1.73 + mainWindow->updateSatellites (mapEditor); // update branchPropWindow...
1.74 return true;
1.75 }
1.76
1.77 @@ -69,6 +111,9 @@
1.78 selectList.at(i)->unselect();
1.79 lastSelectList=selectList;
1.80 selectList.clear();
1.81 + while (!selboxList.isEmpty() )
1.82 + delete selboxList.takeFirst();
1.83 +
1.84 }
1.85 }
1.86