#pragma once #include "plan_editor_internal.h" #include "logging.h" #include namespace SituationMap { class Map; namespace RB { class Rubberband; } } namespace PlanEditor { class PlanEditor; class SelectionWorker : public QObject { Q_OBJECT public: SelectionWorker(PlanEditor *planEditor , SituationMap::GeometryModel *geometryModel , SituationMap::Map *map , SelectionMode mode , const QPointF &viewPortPosition); virtual ~SelectionWorker(); private slots: void onAbortSelect(SituationMap::RB::RubberbandBase *rubberband); void onLineSelect(SituationMap::RB::RubberbandBase *rubberband); void onLassoSelect(SituationMap::RB::RubberbandBase *rubberband); void onRectSelect(SituationMap::RB::RubberbandBase *rubberband); private: PlanEditor *m_planEditor; SituationMap::GeometryModel *m_geometryModel; SituationMap::Map *m_map; SituationMap::RB::Rubberband *m_rubberband; Logger &m_logger; }; }