8#include <GeneratedFiles/iqt2d/ui_CCircleParamsGuiComp.h>
15template <
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui = Ui::CCircleParamsGuiComp>
43 using BaseClass::GetObservedObject;
44 using BaseClass::GetObservedModel;
45 using BaseClass::DoUpdateModel;
50 using BaseClass::GetQtWidget;
51 using BaseClass::XSpin;
52 using BaseClass::YSpin;
53 using BaseClass::RadiusSpin;
54 using BaseClass::ToolsButton;
56 using BaseClass::PositionUnitLabel;
57 using BaseClass::RadiusUnitLabel;
65template <
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui>
68 BaseClass::OnGuiModelAttached();
72template <
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui>
75 Q_ASSERT(BaseClass::IsGuiCreated());
77 CircleBasedModel* objectPtr = GetObservedObject();
78 Q_ASSERT(objectPtr !=
NULL);
81 Q_UNUSED(changeGroup);
84 objectPtr->SetPosition(postion);
86 double radius = RadiusSpin->value();
87 objectPtr->SetRadius(radius);
91template <
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui>
94 Q_ASSERT(BaseClass::IsGuiCreated());
96 CircleBasedModel* objectPtr = GetObservedObject();
97 if (objectPtr !=
NULL){
100 XSpin->setValue(center.
GetX());
101 YSpin->setValue(center.
GetY());
103 RadiusSpin->setValue(objectPtr->GetRadius());
109 CreateToolsMenu(ToolsButton);
115template <
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui>
118 BaseClass::OnGuiCreated();
120 if (IsPositionFixed()){
121 XSpin->setEnabled(
false);
122 YSpin->setEnabled(
false);
125 QObject::connect(XSpin, SIGNAL(valueChanged(
double)),
this, SLOT(OnParamsChanged(
double)));
126 QObject::connect(YSpin, SIGNAL(valueChanged(
double)),
this, SLOT(OnParamsChanged(
double)));
129 QObject::connect(RadiusSpin, SIGNAL(valueChanged(
double)),
this, SLOT(OnParamsChanged(
double)));
135template <
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui>
138 BaseClass::OnGuiRetranslate();
140 QString unitName = GetUnitName();
142 if (!unitName.isEmpty()){
143 PositionUnitLabel->setText(unitName);
144 RadiusUnitLabel->setText(unitName);
145 PositionUnitLabel->setVisible(
true);
146 RadiusUnitLabel->setVisible(
true);
149 PositionUnitLabel->setVisible(
false);
150 RadiusUnitLabel->setVisible(
false);
155template<
class CircleBasedShape,
class CircleBasedModel,
class CircleBasedGui>
158 BaseClass::OnGuiDesignChanged();
160 ToolsButton->setIcon(this->GetIcon(
":/Icons/Tools"));
Definition of position or mathematical vector on 2D plane.
double GetY() const
Get Y position of this vector.
double GetX() const
Get X position of this vector.
iqt2d::TShapeParamsGuiCompBase< CircleBasedGui, CircleBasedShape, CircleBasedModel > BaseClass
virtual void OnGuiCreated() override
virtual void OnGuiModelAttached() override
virtual void OnGuiDesignChanged() override
virtual void OnGuiRetranslate() override
virtual void UpdateModel() const override
virtual void UpdateGui(const istd::IChangeable::ChangeSet &changeSet) override
virtual void CreateToolsMenu(QAbstractButton *buttonPtr)
Maintenance of the tools actions.
bool IsPositionFixed() const
QString GetUnitName() const
Help class which provides the group of changes for update mechanism of the model.
Set of change flags (its IDs).
This package contains Qt based implementations for 2D graphic objects.