--- a/src/ui/canvas.h Fri Feb 07 02:02:16 2020 +0200 +++ b/src/ui/canvas.h Fri Feb 07 23:59:06 2020 +0200 @@ -10,8 +10,17 @@ DocumentManager* documents, const ldraw::ColorTable& colorTable, QWidget* parent = nullptr); +public slots: + void handleSelectionChange(const QSet<ldraw::Id>& selectedIds, const QSet<ldraw::Id>& deselectedIds); protected: void mouseMoveEvent(QMouseEvent* event) override; + void mousePressEvent(QMouseEvent* event) override; + void mouseReleaseEvent(QMouseEvent* event) override; signals: void newStatusText(const QString& newStatusText); + void selectionChanged(const QSet<ldraw::Id>& newSelection); +private: + QPoint lastMousePosition; + int totalMouseMove = 0; + QSet<ldraw::Id> selection; };