17#include "transformoptionswidget.h"
18#include "ui_transformoptionswidget.h"
21#include "toolmanager.h"
22#include "transformtool.h"
24TransformOptionsWidget::TransformOptionsWidget(
Editor* editor,
QWidget *parent) :
32TransformOptionsWidget::~TransformOptionsWidget()
37void TransformOptionsWidget::initUI()
39 makeConnectionsFromUIToModel();
42void TransformOptionsWidget::updateUI()
44 TransformTool* currentTool = mEditor->tools()->currentTransformTool();
45 if (currentTool ==
nullptr) {
return; }
47 updatePropertyVisibility();
48 updateToolConnections(currentTool);
51 if (currentTool->isPropertyEnabled(TransformToolProperties::SHOWSELECTIONINFO_ENABLED)) {
52 setShowSelectionInfo(selectP.showSelectionInfoEnabled());
55 if (currentTool->isPropertyEnabled(TransformToolProperties::ANTI_ALIASING_ENABLED)) {
56 setAntiAliasingEnabled(selectP.antiAliasingEnabled());
60void TransformOptionsWidget::updatePropertyVisibility()
62 TransformTool* currentTool = mEditor->tools()->currentTransformTool();
63 if (mEditor->tools()->currentTransformTool() ==
nullptr) {
return; }
65 ui->antiAliasingCheckBox->setVisible(currentTool->isPropertyEnabled(TransformToolProperties::ANTI_ALIASING_ENABLED));
68void TransformOptionsWidget::updateToolConnections(
BaseTool* tool)
71 disconnect(mTransformTool,
nullptr,
this,
nullptr);
76 makeConnectionFromModelToUI(mTransformTool);
79void TransformOptionsWidget::makeConnectionsFromUIToModel()
82 mTransformTool->setShowSelectionInfo(enabled);
86 mTransformTool->setAntiAliasingEnabled(enabled);
90void TransformOptionsWidget::makeConnectionFromModelToUI(
TransformTool* transformTool)
92 connect(transformTool, &TransformTool::showSelectionInfoChanged,
this, &TransformOptionsWidget::setShowSelectionInfo);
93 connect(transformTool, &TransformTool::antiAliasingChanged,
this, &TransformOptionsWidget::setAntiAliasingEnabled);
96void TransformOptionsWidget::setShowSelectionInfo(
bool enabled)
99 ui->showSelectionInfoCheckBox->setChecked(
enabled);
102void TransformOptionsWidget::setAntiAliasingEnabled(
bool enabled)
105 ui->antiAliasingCheckBox->setChecked(
enabled);
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *method)