This commit is contained in:
toni
2017-03-10 14:41:04 +01:00
66 changed files with 1551 additions and 312 deletions

View File

@@ -14,8 +14,19 @@
#include "../mapview/model/MMFloorBeacon.h"
#include "../mapview/model/MMFloorGroundTruthPoints.h"
#include "../mapview/2D/tools/ToolMeasure.h"
#include "../UIHelper.h"
QSplitter* getSplitter() {
QSplitter* splt = new QSplitter();
splt->setStyleSheet("background-color:black;");
splt->setMinimumHeight(1);
return splt;
}
ToolBoxWidget::ToolBoxWidget(MapView2D* view, QWidget *parent) : QWidget(parent), view(view) {
const int s = 32;
@@ -31,6 +42,16 @@ ToolBoxWidget::ToolBoxWidget(MapView2D* view, QWidget *parent) : QWidget(parent)
connect(btnSelect, SIGNAL(clicked(bool)), this, SLOT(onSelect()));
// MEASURE
btnMeasure = new QPushButton(UIHelper::getIcon("ruler"), "");
btnMeasure->setMinimumSize(s,s);
lay->addWidget(btnMeasure, r++, 0, 1,1,Qt::AlignTop);
connect(btnMeasure, SIGNAL(clicked(bool)), this, SLOT(onMeasure()));
// splitter
lay->addWidget(getSplitter(), r++, 0, 1,1,Qt::AlignTop);
// OBSTACLES
btnGround = new QPushButton(UIHelper::getIcon("floor"), "");
@@ -64,6 +85,10 @@ ToolBoxWidget::ToolBoxWidget(MapView2D* view, QWidget *parent) : QWidget(parent)
connect(btnElevator, SIGNAL(clicked(bool)), this, SLOT(onNewElevator()));
// splitter
lay->addWidget(getSplitter(), r++, 0, 1,1,Qt::AlignTop);
// TRANSMITTERS
btnWifi = new QPushButton(UIHelper::getIcon("wifi"), "");
btnWifi->setMinimumSize(s,s);
@@ -350,116 +375,25 @@ public:
};
//struct NewLineTool : public Tool {
// /** add another line after this one? */
// bool multiple = true;
// /** register this tool into the given tools-queue */
// Tools& tools;
// /** the layer to add the new line to */
// MapLayer* layer;
// /** currently edited line */
// Floorplan::FloorObstacleLine* foLine;
// MMFloorObstacleLine* mmLine;
// /** new line type */
// Floorplan::ObstacleType type;
// /** new line material */
// Floorplan::Material mat;
// /** currently edited line node (has 2) */
// int idx = 0;
// NewLineTool(Tools& tools, MapLayer* layer, Floorplan::ObstacleType type, Floorplan::Material mat) : tools(tools), layer(layer), type(type), mat(mat) {
// createEmptyLine();
// tools.addFront(this);
// }
// virtual bool mousePressEvent(MapView2D* m, QMouseEvent* e) override {
// (void) m; (void) e;
// return true;
// }
// virtual bool mouseMoveEvent(MapView2D* m, QMouseEvent* e) override {
// const Point2 onScreen(e->x(), e->y());
// Point2 onMap = m->getScaler().sm(onScreen);
// onMap = m->getScaler().snap(onMap);
// if (idx == 0) { foLine->from = onMap; foLine->to = onMap; }
// if (idx == 1) { foLine->to = onMap; }
// return true;
// }
// virtual bool mouseReleaseEvent(MapView2D* m, QMouseEvent* e) override {
// (void) m; (void) e;
// ++idx;
// if (idx == 2) {
// finalizeLine();
// if (multiple) {
// idx = 0;
// createEmptyLine();
// } else {
// disableMe();
// }
// }
// return true;
// }
// virtual bool keyPressEvent(MapView2D* m, QKeyEvent* e) override {
// (void) m;
// if (e->key() == Qt::Key_Escape) {
// if (mmLine) {mmLine->deleteMe();}
// disableMe(); return true;
// }
// return false;
// }
//private:
// /** finalize the current line */
// void finalizeLine() {
// if (!mmLine) {return;}
// mmLine->getMV2D()->unfocus();
// mmLine = nullptr;
// }
// /** stop creating new lines */
// void disableMe() {
// finalizeLine();
// tools.remove(this);
// delete this;
// }
// /** create a new, empty line */
// void createEmptyLine() {
// foLine = new Floorplan::FloorObstacleLine(type, mat, Point2(0, 0), Point2(0, 0));
// MMFloorObstacles* obs = (MMFloorObstacles*)layer;
// mmLine = obs->createLine(foLine);
// mmLine->getMV2D()->focus();
// }
//};
void ToolBoxWidget::onSelect() {
}
void ToolBoxWidget::onMeasure() {
new ToolMeasure(view->getTools());
}
void ToolBoxWidget::onNewWall() {
new NewWallTool(view->getTools(), curLayer);
//view->getModel()->reselect();
}
void ToolBoxWidget::onNewPillar() {
@@ -484,21 +418,6 @@ void ToolBoxWidget::onNewDoor() {
new NewDoorTool(view->getTools(), curLayer);
// const Point2 center = view->getScaler().getCenter();
// float s = view->getScaler().sm(50);
// Floorplan::FloorObstacleDoor* door = new Floorplan::FloorObstacleDoor(
// Floorplan::DoorType::SWING,
// Floorplan::Material::WOOD,
// Point2(center.x-s, center.y),
// Point2(center.x+s, center.y)
// );
// MMFloorObstacles* obs = (MMFloorObstacles*)curLayer;
// obs->createDoor(door);
//view->getModel()->reselect();
}
void ToolBoxWidget::onNewStair() {