diff --git a/lib/QMapControl/src/mapcontrol.cpp b/lib/QMapControl/src/mapcontrol.cpp index 2872765dab8b14751d843c93fccfce9b839bcdca..22539c14eec0102269c398a72d8bf5aa04c6d0bb 100644 --- a/lib/QMapControl/src/mapcontrol.cpp +++ b/lib/QMapControl/src/mapcontrol.cpp @@ -328,11 +328,13 @@ namespace qmapcontrol layermanager->zoomIn(); update(); } + void MapControl::zoomOut() { layermanager->zoomOut(); update(); } + void MapControl::setZoom(int zoomlevel) { layermanager->setZoom(zoomlevel); diff --git a/src/uas/UASWaypointManager.cc b/src/uas/UASWaypointManager.cc index 19ec8d878df689e90e0dd806813912a7360dd4c9..edca0f345136d95b6ad66e55998db28076bd2c6f 100644 --- a/src/uas/UASWaypointManager.cc +++ b/src/uas/UASWaypointManager.cc @@ -315,7 +315,9 @@ int UASWaypointManager::removeWaypoint(quint16 seq) { waypoints[i]->setId(i); } + emit waypointListChanged(); + return 0; } return -1; diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index a4636c62567399afb4b6732fa35d5d8d40d29ec4..07bdc1c44367d66bd11b7cbcaa13cf7496c0d8d0 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -826,6 +826,7 @@ void MainWindow::updateLocationSettings (Qt::DockWidgetArea location) } } + /** * Connect the signals and slots of the common window widgets */ @@ -841,11 +842,17 @@ void MainWindow::connectCommonWidgets() { // clear path create on the map connect(waypointsDockWidget->widget(), SIGNAL(clearPathclicked()), mapWidget, SLOT(clearWaypoints())); + + // + connect(waypointsDockWidget->widget(), SIGNAL(changePointList()), mapWidget, SLOT(clearWaypoints())); + // add Waypoint widget in the WaypointList widget when mouse clicked connect(mapWidget, SIGNAL(captureMapCoordinateClick(QPointF)), waypointsDockWidget->widget(), SLOT(addWaypointMouse(QPointF))); // it notifies that a waypoint global goes to do create and a map graphic too connect(waypointsDockWidget->widget(), SIGNAL(createWaypointAtMap(QPointF)), mapWidget, SLOT(createWaypointGraphAtMap(QPointF))); + + } //TODO temporaly debug diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index 04e29f07d6ea25d71fa1948c9c69b018dd0037a9..ee1b35f506f3c6cd87eab6f227c878c32adef73b 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -106,8 +106,10 @@ public slots: void configure(); /** @brief Set the currently controlled UAS */ void setActiveUAS(UASInterface* uas); + /** @brief Add a new UAS */ void UASCreated(UASInterface* uas); + void startVideoCapture(); void stopVideoCapture(); void saveScreen(); diff --git a/src/ui/MapWidget.cc b/src/ui/MapWidget.cc index 82bd3216cb369053f8554b135e36bfd270727fd8..8cb1932e4ee5472f77c956e50586300888a7c551 100644 --- a/src/ui/MapWidget.cc +++ b/src/ui/MapWidget.cc @@ -177,11 +177,9 @@ MapWidget::MapWidget(QWidget *parent) : // Connect the required signals-slots - connect(zoomin, SIGNAL(clicked(bool)), - mc, SLOT(zoomIn())); + connect(zoomin, SIGNAL(clicked(bool)), mc, SLOT(zoomIn())); - connect(zoomout, SIGNAL(clicked(bool)), - mc, SLOT(zoomOut())); + connect(zoomout, SIGNAL(clicked(bool)), mc, SLOT(zoomOut())); QList systems = UASManager::instance()->getUASList(); foreach(UASInterface* system, systems) @@ -351,7 +349,6 @@ void MapWidget::createPathButtonClicked(bool checked) * @param coordinate The coordinate in which it occured the mouse event * @note This slot is connected to the mouseEventCoordinate of the QMapControl object */ - void MapWidget::captureMapClick(const QMouseEvent* event, const QPointF coordinate) { //qDebug() << mc->mouseMode(); @@ -373,6 +370,8 @@ void MapWidget::captureMapClick(const QMouseEvent* event, const QPointF coordina { tempCirclePoint = new Waypoint2DIcon(coordinate.x(), coordinate.y(), 20, str, qmapcontrol::Point::Middle); } + + //draw WP in map mc->layer("Waypoints")->addGeometry(tempCirclePoint); qmapcontrol::Point* tempPoint = new qmapcontrol::Point(coordinate.x(), coordinate.y(),str); @@ -500,6 +499,7 @@ MapWidget::~MapWidget() { delete m_ui; } + /** * * @param uas the UAS/MAV to monitor/display with the HUD diff --git a/src/ui/MapWidget.h b/src/ui/MapWidget.h index 53654331631c1020f0a4ce39ec0e05a20b0a51af..cc3e00b32fa32c9b0a38996ebe1a96bcc8a561cb 100644 --- a/src/ui/MapWidget.h +++ b/src/ui/MapWidget.h @@ -138,7 +138,7 @@ protected: signals: //void movePoint(QPointF newCoord); - void captureMapCoordinateClick(const QPointF coordinate); //ROCA + void captureMapCoordinateClick(const QPointF coordinate); void createGlobalWP(bool value, QPointF centerCoordinate); void sendGeometryEndDrag(const QPointF coordinate, const int index); diff --git a/src/ui/WaypointList.cc b/src/ui/WaypointList.cc index b9a090b2ff6406416b1df74b9ee6ffea2468785c..5cb28f69292adbfba9ffb92a4dd97a9530e70e3b 100644 --- a/src/ui/WaypointList.cc +++ b/src/ui/WaypointList.cc @@ -176,27 +176,7 @@ void WaypointList::add() { if (uas) { -// if(isGlobalWP) -// { -// const QVector &waypoints = uas->getWaypointManager().getWaypointList(); -// if (waypoints.size() > 0) -// { -// Waypoint *last = waypoints.at(waypoints.size()-1); -// Waypoint *wp = new Waypoint(0, centerMapCoordinate.x(), centerMapCoordinate.y(), last->getZ(), last->getYaw(), last->getAutoContinue(), false, last->getOrbit(), last->getHoldTime()); -// uas->getWaypointManager().addWaypoint(wp); -// } -// else -// { -// Waypoint *wp = new Waypoint(0, centerMapCoordinate.x(), centerMapCoordinate.y(), -0.8, 0.0, true, true, 0.15, 2000); -// uas->getWaypointManager().addWaypoint(wp); -// } -// -// emit createWaypointAtMap(centerMapCoordinate); -// } -// else - { - - const QVector &waypoints = uas->getWaypointManager().getWaypointList(); + const QVector &waypoints = uas->getWaypointManager().getWaypointList(); Waypoint *wp; @@ -219,7 +199,7 @@ void WaypointList::add() { emit createWaypointAtMap(QPointF(wp->getX(), wp->getY())); } - } + } } @@ -300,62 +280,7 @@ void WaypointList::waypointListChanged() { const QVector &waypoints = uas->getWaypointManager().getWaypointList(); - // For Global Waypoints - //if(isGlobalWP) - //{ - //isLocalWP = false; - //// first remove all views of non existing waypoints - //if (!wpGlobalViews.empty()) - //{ - //QMapIterator viewIt(wpGlobalViews); - //viewIt.toFront(); - //while(viewIt.hasNext()) - //{ - //viewIt.next(); - //Waypoint *cur = viewIt.key(); - //int i; - //for (i = 0; i < waypoints.size(); i++) - //{ - //if (waypoints[i] == cur) - //{ - //break; - //} - //} - //if (i == waypoints.size()) - //{ - //WaypointGlobalView* widget = wpGlobalViews.find(cur).value(); - //widget->hide(); - //listLayout->removeWidget(widget); - //wpGlobalViews.remove(cur); - //} - //} - //} - - //// then add/update the views for each waypoint in the list - //for(int i = 0; i < waypoints.size(); i++) - //{ - //Waypoint *wp = waypoints[i]; - //if (!wpGlobalViews.contains(wp)) - //{ - //WaypointGlobalView* wpview = new WaypointGlobalView(wp, this); - //wpGlobalViews.insert(wp, wpview); - //connect(wpview, SIGNAL(removeWaypoint(Waypoint*)), this, SLOT(removeWaypoint(Waypoint*))); - //connect(wpview, SIGNAL(changePositionWP(Waypoint*)), this, SLOT(changeWPPositionBySpinBox(Waypoint*))); -//// connect(wpview, SIGNAL(moveDownWaypoint(Waypoint*)), this, SLOT(moveDown(Waypoint*))); -//// connect(wpview, SIGNAL(moveUpWaypoint(Waypoint*)), this, SLOT(moveUp(Waypoint*))); - //// connect(wpview, SIGNAL(changePositionWP(Waypoint*)), this, SLOT(waypointGlobalPositionChanged(Waypoint*))); -//// connect(wpview, SIGNAL(currentWaypointChanged(quint16)), this, SLOT(currentWaypointChanged(quint16))); -//// connect(wpview, SIGNAL(changeCurrentWaypoint(quint16)), this, SLOT(changeCurrentWaypoint(quint16))); - //} - //WaypointGlobalView *wpgv = wpGlobalViews.value(wp); - //wpgv->updateValues(); - //listLayout->addWidget(wpgv); - //} - - //} - //else - { - // for local Waypoints + // for local Waypoints // first remove all views of non existing waypoints if (!wpViews.empty()) { @@ -402,10 +327,10 @@ void WaypointList::waypointListChanged() listLayout->addWidget(wpv); } - } loadFileGlobalWP = false; + //emit changePointList(); } @@ -431,6 +356,9 @@ void WaypointList::moveUp(Waypoint* wp) uas->getWaypointManager().moveWaypoint(i, i-1); } } + + //emitir seņal de cambio orden en la lista, + //la debe capturar el mapwidget para volver a dibujar la ruta } void WaypointList::moveDown(Waypoint* wp) @@ -490,13 +418,6 @@ void WaypointList::on_clearWPListButton_clicked() widget->remove(); } } - else - { -// if(isGlobalWP) -// { -// emit clearPathclicked(); -// } - } } /** @brief Add a waypoint by mouse click over the map */ diff --git a/src/ui/WaypointList.h b/src/ui/WaypointList.h index cb42b70db39eb79ff40c32d2edcd666153f8bf28..7b3020e06c7aabf64b7f331adcfcfa4cfb1c36bc 100644 --- a/src/ui/WaypointList.h +++ b/src/ui/WaypointList.h @@ -113,7 +113,7 @@ signals: void createWaypointAtMap(const QPointF coordinate); // void ChangeWaypointGlobalPosition(int index, QPointF coord); void changePositionWPBySpinBox(int indexWP, float lat, float lon); - + void changePointList(); protected: diff --git a/src/ui/WaypointView.cc b/src/ui/WaypointView.cc index ca7f981a067b8a8ba2bd41551adce7edc30df990..583efea3ac44fb7101b54881103272c4f6b3844a 100644 --- a/src/ui/WaypointView.cc +++ b/src/ui/WaypointView.cc @@ -107,6 +107,7 @@ void WaypointView::moveDown() emit moveDownWaypoint(wp); } + void WaypointView::remove() { emit removeWaypoint(wp); diff --git a/src/ui/designer/QGCActionButton.cc b/src/ui/designer/QGCActionButton.cc index bb3e0c24ff1eb94e1434d50ca0cbcc20a8cde7d4..1da897480e9c0f9b7b6dd7cd784af5aeae9e17ab 100644 --- a/src/ui/designer/QGCActionButton.cc +++ b/src/ui/designer/QGCActionButton.cc @@ -35,10 +35,10 @@ const char* kActionLabels[MAV_ACTION_NB] = "LOITER", "SET ORIGIN", "RELAY ON", - "RELAY OFF", - "GET IMAGE", - "START VIDEO", - "STOP VIDEO", + //"RELAY OFF", + //"GET IMAGE", + //"START VIDEO", + //"STOP VIDEO", "RESET MAP"}; QGCActionButton::QGCActionButton(QWidget *parent) :