Fri, 04 Mar 2022 23:41:58 +0200
improve rendering of the grid
#include "selecttool.h" SelectTool::SelectTool(Document* document) : BaseTool{document}, objectEditor{new ObjectEditor{document, ldraw::NULL_ID}} { } QString SelectTool::name() const { static const QString result = tr("Select"); return result; } QString SelectTool::toolTip() const { static const QString result = tr("Select elements from the model."); return result; } bool SelectTool::mouseClick(Document* document, Canvas* canvas, QMouseEvent* event) { if (event->button() == Qt::LeftButton) { static_cast<void>(document); const ldraw::id_t highlighted = canvas->getHighlightedObject(); canvas->clearSelection(); if (highlighted != ldraw::NULL_ID) { canvas->addToSelection(highlighted); } return true; } else { return false; } } QWidget* SelectTool::toolWidget() { return this->objectEditor; } void SelectTool::selectionChanged(const QSet<ldraw::id_t>& newSelection) { if (newSelection.size() == 1) { this->objectEditor->setObjectId(*newSelection.begin()); } else { this->objectEditor->setObjectId(ldraw::NULL_ID); } }