/** ** ** @RDE_HEADER@ ** Do all the work for complex selection operations. ** $Id$ ** $HeadURL$ ** $Author$ ** ** ----------------------------------------------------------------------------------------------- ** ** Hardware-Environment: Intel-PC ** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 ** ** Language ........: C++ 11 ** ** ----------------------------------------------------------------------------------------------- ** ** Author ...........: Jörg Turla, SPD G, Tel. 3132 ** ** ----------------------------------------------------------------------------------------------- ** ** Notes .........: ** ** 05.07.2016, JT : First edition for use with Qt5 ** ** ----------------------------------------------------------------------------------------------- */ #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; }; // SelectionWorker } // namespace PlanEditor