#include "maptooladdplane.h" #include "mapcanvas.h" #include "maplayer.h" #include "mapautoplane.h" #pragma execution_character_set("utf-8") void LAMPMainWidget::MapToolAddplane::execute(QMouseEvent *event) { QPointF scene_point=this->mMapCanvas->mapToScene(event->pos()); QPointF mkt_point=scene_point*this->mMapCanvas->currentLayer()->resolution(); if( event->type() != QEvent::MouseButtonPress) return; if(event->button()==Qt::LeftButton){ MapAutoplane*plane=new MapAutoplane(this->mMapCanvas->currentLayer(),mkt_point); this->addPlane(plane); } } void LAMPMainWidget::MapToolAddplane::setup() { } void LAMPMainWidget::MapToolAddplane::deSetup() { } QString LAMPMainWidget::MapToolAddplane::id() { return QString("addplane_tool"); } void LAMPMainWidget::MapToolAddplane::addPlane(MapAutoplane *plane) { this->mMapCanvas->scene()->addItem(plane); this->planes.append(plane); } void LAMPMainWidget::MapToolAddplane::delePlane(MapAutoplane *plane) { this->mMapCanvas->scene()->removeItem(plane); this->planes.removeAll(plane); }