fixed issue with "empty" elements [walls, stairs, elevators] during tool selection

minor ui changes
This commit is contained in:
2017-04-16 09:47:12 +02:00
parent 648fb9590b
commit 6fb1c3a5fc
8 changed files with 42 additions and 14 deletions

View File

@@ -62,6 +62,7 @@ public:
} else {
//p.setPenBrush(Qt::gray, Qt::NoBrush);
//p.drawCircle(elevator->center);
p.drawCircle_px(elevator->center, 3);
}
}

View File

@@ -48,6 +48,7 @@ public:
void paint(Painter& p) override {
QBrush brush;
QPen pen;
// fill-style (depends on the mode)
switch (fo.method) {
@@ -65,8 +66,14 @@ public:
brush.setColor(QColor(255,0,0));
}
if (hasFocus()) {
brush.setStyle(Qt::BrushStyle::FDiagPattern);
}
// outline + filled area
p.setPenBrush(Qt::black, brush);
pen.setColor(Qt::black);
pen.setWidth( hasFocus() ? 2 : 1 );
p.setPenBrush(pen, brush);
p.drawPolygon(fo.poly.points);
// selected endpoints?

View File

@@ -113,7 +113,8 @@ protected:
/** finish creating new elements */
void disableMe() {
finalizeCurrent();
//finalizeCurrent();
deleteCurrent();
delete this; // see dtor!
}

View File

@@ -17,17 +17,22 @@ private:
public:
ToolNewElevator(Tools& tools, MapLayer* layer) : ToolNewElement(tools, layer) {
create();
;
}
void becomesActive() override {
create(); // start adding an new element
showHelp();
}
void becomesInactive() override {
deleteCurrent(); // delete the currently pending and not yet finished elevator
}
const std::string getName() const override {
return "new Elevator";
}
void becomesActive() override {
showHelp();
}
void createEmptyElement() override {
foEL = new Floorplan::Elevator();

View File

@@ -14,17 +14,22 @@ private:
public:
ToolNewStair(Tools& tools, MapLayer* layer) : ToolNewElement(tools, layer) {
create();
;
}
void becomesActive() override {
create(); // start adding an new element
emit onHelpTextChange("click for the stair's starting point");
}
void becomesInactive() override {
deleteCurrent(); // delete the currently pending and not yet finished stair
}
const std::string getName() const override {
return "new Stair";
}
void becomesActive() override {
emit onHelpTextChange("click for the stair's starting point");
}
void createEmptyElement() override {
foEL = new Floorplan::StairFreeform();

View File

@@ -15,7 +15,15 @@ private:
public:
ToolNewWall(Tools& tools, MapLayer* layer) : ToolNewElement(tools, layer) {
create();
;
}
void becomesActive() override {
create(); // start adding an new element
}
void becomesInactive() override {
deleteCurrent(); // delete the currently pending and not yet finished wall element
}
const std::string getName() const override {