diff -r 0f80a2e5e42b -r 1a9eac27698d src/ui/canvas.h --- 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& selectedIds, const QSet& 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& newSelection); +private: + QPoint lastMousePosition; + int totalMouseMove = 0; + QSet selection; };