fixed some issues

added new tools for creating APs, Beacons, GTP, POI, Fingerprints
fixed selection issue
changed new-element creation
added missing layer parameters
This commit is contained in:
2017-06-01 16:26:09 +02:00
parent 489a64fd69
commit 7a23001b82
29 changed files with 763 additions and 265 deletions

View File

@@ -56,6 +56,21 @@ public:
break;
}
case ParamType::DOUBLE: {
const std::string str = std::to_string(value.toDouble());
if (param.readOnly) {
lay->addWidget(new QLabel(str.c_str()),r,1);
} else {
QLineEdit* le = new QLineEdit( str.c_str() );
le->connect(le, &QLineEdit::textChanged, [i,elem] (const QString& str) {
const float val = str.toDouble();
elem->setParamValue(i, ParamValue(val));
});
lay->addWidget(le,r,1);
}
break;
}
case ParamType::INT: {
const std::string str = std::to_string(value.toInt());
QLineEdit* le = new QLineEdit( str.c_str() );
@@ -83,6 +98,7 @@ public:
QPushButton* btn = new QPushButton("<");
btn->setMaximumSize(32,32);
btn->connect(btn, &QPushButton::clicked, [i,elem,lblFile] (const bool checked) {
(void) checked;
QString res = QFileDialog::getOpenFileName();
elem->setParamValue(i, ParamValue(res.toStdString()));
lblFile->setText(res);
@@ -102,6 +118,7 @@ public:
laySub->addWidget(txtY,0,1);
lay->addWidget(subWidget,r,1);
auto onChange = [i,elem,txtX,txtY] (const QString& str) {
(void) str;
elem->setParamValue(i, ParamValue( Point2(txtX->text().toFloat(), txtY->text().toFloat()) ));
};
txtX->connect(txtX, &QLineEdit::textChanged, onChange);
@@ -130,6 +147,9 @@ public:
break;
}
case ParamType::NOT_AVAILABLE:
break;
}
++r;

View File

@@ -66,7 +66,7 @@ void LayerParamWidget::setElement(MapLayer* l) {
delete this->layout();
this->lay = new QGridLayout();
this->setLayout(lay);
int r = 0;
// int r = 0;
// {

View File

@@ -23,6 +23,11 @@
#include "../mapview/2D/tools/ToolNewStair.h"
#include "../mapview/2D/tools/ToolNewElevator.h"
#include "../mapview/2D/tools/ToolNewOutline.h"
#include "../mapview/2D/tools/ToolNewFingerprint.h"
#include "../mapview/2D/tools/ToolNewGroundTruth.h"
#include "../mapview/2D/tools/ToolNewAccessPoint.h"
#include "../mapview/2D/tools/ToolNewBeacon.h"
#include "../mapview/2D/tools/ToolNewPOI.h"
#include "../UIHelper.h"
@@ -175,6 +180,12 @@ void ToolBoxWidget::onMainToolChanged() {
btnElevator->setStyleSheet( dynamic_cast<ToolNewElevator*>(t) ? styleSel : styleNor );
btnStair->setStyleSheet( dynamic_cast<ToolNewStair*>(t) ? styleSel : styleNor );
btnFingerprintLocation->setStyleSheet( dynamic_cast<ToolNewFingerprint*>(t) ? styleSel : styleNor );
btnGTP->setStyleSheet( dynamic_cast<ToolNewGroundTruth*>(t) ? styleSel : styleNor );
btnWifi->setStyleSheet( dynamic_cast<ToolNewAccessPoint*>(t) ? styleSel : styleNor );
btnBeacon->setStyleSheet( dynamic_cast<ToolNewBeacon*>(t) ? styleSel : styleNor );
btnPOI->setStyleSheet( dynamic_cast<ToolNewPOI*>(t) ? styleSel : styleNor );
}
void ToolBoxWidget::setSelectedLayer(MapLayer *ml) {
@@ -222,7 +233,6 @@ void ToolBoxWidget::onNewGround() {
view->getTools().setMain(new ToolNewOutline(view->getTools(), curLayer));
}
@@ -295,35 +305,41 @@ void ToolBoxWidget::onNewElevator() {
void ToolBoxWidget::onNewAccessPoint() {
const Point2 center = view->getScaler().getCenter();
Floorplan::AccessPoint* ap = new Floorplan::AccessPoint(
"noname", "00:00:00:00:00:00", Point3(center.x, center.y, 0)
);
// const Point2 center = view->getScaler().getCenter();
// Floorplan::AccessPoint* ap = new Floorplan::AccessPoint(
// "noname", "00:00:00:00:00:00", Point3(center.x, center.y, 0)
// );
MMFloorAccessPoints* aps = (MMFloorAccessPoints*) curLayer;
aps->createAP(ap);
// MMFloorAccessPoints* aps = (MMFloorAccessPoints*) curLayer;
// aps->createAP(ap);
view->getTools().setMain(new ToolNewAccessPoint(view->getTools(), curLayer));
}
void ToolBoxWidget::onNewBeacon() {
const Point2 center = view->getScaler().getCenter();
Floorplan::Beacon* b = new Floorplan::Beacon(
"noname", "00:00:00:00:00:00", Point3(center.x, center.y, 0)
);
// const Point2 center = view->getScaler().getCenter();
// Floorplan::Beacon* b = new Floorplan::Beacon(
// "noname", "00:00:00:00:00:00", Point3(center.x, center.y, 0)
// );
MMFloorBeacons* beacons = (MMFloorBeacons*) curLayer;
beacons->createBeacon(b);
// MMFloorBeacons* beacons = (MMFloorBeacons*) curLayer;
// beacons->createBeacon(b);
view->getTools().setMain(new ToolNewBeacon(view->getTools(), curLayer));
}
void ToolBoxWidget::onNewFingerprintLocation() {
const Point2 center = view->getScaler().getCenter();
Floorplan::FingerprintLocation* fpl = new Floorplan::FingerprintLocation("noname", center, 0);
// const Point2 center = view->getScaler().getCenter();
// Floorplan::FingerprintLocation* fpl = new Floorplan::FingerprintLocation("noname", center, 0);
MMFloorFingerprints* fps = (MMFloorFingerprints*) curLayer;
fps->create(fpl);
// MMFloorFingerprints* fps = (MMFloorFingerprints*) curLayer;
// fps->create(fpl);
view->getTools().setMain(new ToolNewFingerprint(view->getTools(), curLayer));
}
@@ -331,25 +347,29 @@ void ToolBoxWidget::onNewFingerprintLocation() {
void ToolBoxWidget::onNewPOI() {
const Point2 center = view->getScaler().getCenter();
Floorplan::POI* poi = new Floorplan::POI(
Floorplan::POIType::ROOM, "noname", Point2(center.x, center.y)
);
// const Point2 center = view->getScaler().getCenter();
// Floorplan::POI* poi = new Floorplan::POI(
// Floorplan::POIType::ROOM, "noname", Point2(center.x, center.y)
// );
MMFloorPOIs* pois = (MMFloorPOIs*) curLayer;
pois->createPOI(poi);
// MMFloorPOIs* pois = (MMFloorPOIs*) curLayer;
// pois->createPOI(poi);
view->getTools().setMain(new ToolNewPOI(view->getTools(), curLayer));
}
void ToolBoxWidget::onNewGTP() {
const Point2 center = view->getScaler().getCenter();
Floorplan::GroundTruthPoint* gtp = new Floorplan::GroundTruthPoint(
0, Point3(center.x, center.y, 0)
);
// const Point2 center = view->getScaler().getCenter();
// Floorplan::GroundTruthPoint* gtp = new Floorplan::GroundTruthPoint(
// 0, Point3(center.x, center.y, 0)
// );
MMFloorGroundTruthPoints* gtps = (MMFloorGroundTruthPoints*) curLayer;
gtps->createGroundTruthPoint(gtp);
// MMFloorGroundTruthPoints* gtps = (MMFloorGroundTruthPoints*) curLayer;
// gtps->createGroundTruthPoint(gtp);
view->getTools().setMain(new ToolNewGroundTruth(view->getTools(), curLayer));
}