22 printf(
"QCurveWidget\n");
26 printf(
"QCurve Nullptr\n");
38 int curIndex2 = int(f->
getValue().mInterpMode);
39 int enumNum2 = f->
getValue().InterpolationCount;
40 QComboBox* combox2 =
new QComboBox;
41 combox2->setMaximumWidth(256);
42 for (
size_t i = 0; i < 2; i++)
44 auto enumName2 = f->
getValue().InterpStrings[i];
45 combox2->addItem(QString::fromStdString(enumName2));
47 combox2->setCurrentIndex(curIndex2);
48 combox2->setStyleSheet(
"background-color: qlineargradient(spread : pad, x1 : 0, y1 : 0, x2 : 0, y2 : 0.7, stop : 0 rgba(100, 100, 100, 255), stop : 1 rgba(35, 35, 35, 255)); ");
54 QLabel* name =
new QLabel();
55 name->setFixedSize(80, 18);
57 name->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
67 connect(combox2, SIGNAL(currentIndexChanged(
int)), DrawLabel, SLOT(changeInterpValue(
int)));
70 QVBoxLayout* VLayout =
new QVBoxLayout();
71 QSpacerItem* VSpacer =
new QSpacerItem(10, 380, QSizePolicy::Minimum, QSizePolicy::Expanding);
72 VLayout->addItem(VSpacer);
73 VLayout->addWidget(combox2);
74 VLayout->setSpacing(5);
77 QGridLayout* Gridlayout =
new QGridLayout;
78 Gridlayout->setContentsMargins(0, 0, 0, 0);
79 Gridlayout->setSpacing(5);
80 Gridlayout->addWidget(name, 0, 0,3,1, Qt::AlignLeft);
81 Gridlayout->addWidget(DrawLabel,0,1, Qt::AlignCenter);
82 Gridlayout->addLayout(VLayout,0,2, Qt::AlignRight);
83 Gridlayout->setColumnStretch(0, 0);
84 Gridlayout->setColumnStretch(1, 5);
85 Gridlayout->setColumnStretch(2, 0);
88 QLabel* spacingName =
new QLabel(
"Spacing");
94 spacingSlider->
id = -1;
96 spacingSpinner->setRange(1, 40);
98 spacingSpinner->
id = -1;
99 QObject::connect(spacingSlider, SIGNAL(valueChanged(
double)), spacingSpinner, SLOT(setValue(
double)));
100 QObject::connect(spacingSpinner, SIGNAL(valueChanged(
double)), spacingSlider, SLOT(setValue(
double)));
101 QObject::connect(spacingSpinner, SIGNAL(valueChangedAndID(
double,
int)), DrawLabel, SLOT(setSpacingToDrawLabel(
double,
int)));
103 QHBoxLayout* SpacingHlayout =
new QHBoxLayout;
104 SpacingHlayout->setContentsMargins(0, 0, 0, 0);
105 SpacingHlayout->setSpacing(0);
106 SpacingHlayout->addWidget(spacingName);
107 SpacingHlayout->addWidget(spacingSlider);
108 SpacingHlayout->addWidget(spacingSpinner);
114 std::string nameString[4] = {
"MinX",
"MinY",
"MaxX",
"MaxY" };
116 QHBoxLayout* Hlayout1 =
new QHBoxLayout;
117 Hlayout1->setContentsMargins(0, 0, 0, 0);
118 Hlayout1->setSpacing(0);
120 QHBoxLayout* Hlayout2 =
new QHBoxLayout;
121 Hlayout2->setContentsMargins(0, 0, 0, 0);
122 Hlayout2->setSpacing(0);
124 for (
size_t i = 0; i < 4; i++)
126 nameReal[i] =
new QLabel(QString::fromStdString(nameString[i]));
129 sliderReal[i]->
id = i;
132 spinnerReal[i]->
id = i;
134 auto rangeArray = f->
getValue().remapRange;
136 sliderReal[i]->
setRange(rangeArray[2 * i], rangeArray[2 * i + 1]);
137 spinnerReal[i]->setRange(rangeArray[2 * i], rangeArray[2 * i + 1]);
139 QObject::connect(sliderReal[i], SIGNAL(valueChanged(
double)), spinnerReal[i], SLOT(setValue(
double)));
140 QObject::connect(spinnerReal[i], SIGNAL(valueChanged(
double)), sliderReal[i], SLOT(setValue(
double)));
141 QObject::connect(spinnerReal[i], SIGNAL(valueChangedAndID(
double,
int)), DrawLabel, SLOT(SetValueToDrawLabel(
double,
int)));
170 Hlayout1->addWidget(nameReal[i]);
171 Hlayout1->addWidget(sliderReal[i]);
172 Hlayout1->addWidget(spinnerReal[i]);
176 Hlayout2->addWidget(nameReal[i]);
177 Hlayout2->addWidget(sliderReal[i]);
178 Hlayout2->addWidget(spinnerReal[i]);
183 QHBoxLayout* boolLayout =
new QHBoxLayout;
184 boolLayout->setContentsMargins(0, 0, 0, 0);
185 boolLayout->setSpacing(0);
187 QLabel* boolName =
new QLabel();
188 boolName->setFixedHeight(24);
189 boolName->setText(
"Resample");
192 Checkbox->QWidget::setFixedWidth(20);
193 Checkbox->QAbstractButton::setChecked(f->
getValue().resample);
195 connect(Checkbox, SIGNAL(mValueChanged(
int)), DrawLabel, SLOT(setLinearResample(
int)));
196 connect(Checkbox, SIGNAL(mValueChanged(
int)), spacingSlider, SLOT(setNewVisable(
int)));
197 connect(Checkbox, SIGNAL(mValueChanged(
int)), spacingSpinner, SLOT(setNewVisable(
int)));
199 connect(combox2, SIGNAL(currentIndexChanged(
int)), Checkbox, SLOT(updateChecked(
int)));
201 if (f->
getValue().resample ==
false)
203 spacingSlider->setVisible(
false);
204 spacingSpinner->setVisible(
false);
205 spacingName->setVisible(
false);
209 boolLayout->addWidget(boolName, 0);
210 boolLayout->addStretch(1);
211 boolLayout->addWidget(Checkbox, 0);
222 unfold->
setText(
"Squard",
"Rect");
223 unfold->setStyleSheet(
224 "QPushButton{background-color: qlineargradient(spread : pad, x1 : 0, y1 : 0, x2 : 0, y2 : 0.7, stop : 0 rgba(100, 100, 100, 255), stop : 1 rgba(35, 35, 35, 255));}QPushButton:hover{background-color: qlineargradient(spread : pad, x1 : 0, y1 : 0, x2 : 0, y2 : 0.7, stop : 0 rgba(120,120,120, 255), stop : 1 rgba(90, 90, 90, 255));} "
228 VLayout->addWidget(unfold);
236 curveCloseButton->
setText(
"Close",
"Open");
237 curveCloseButton->setStyleSheet
239 "QPushButton{background-color: qlineargradient(spread : pad, x1 : 0, y1 : 0, x2 : 0, y2 : 0.7, stop : 0 rgba(100, 100, 100, 255), stop : 1 rgba(35, 35, 35, 255));}QPushButton:hover{background-color: qlineargradient(spread : pad, x1 : 0, y1 : 0, x2 : 0, y2 : 0.7, stop : 0 rgba(120,120,120, 255), stop : 1 rgba(90, 90, 90, 255));} "
241 VLayout->addWidget(curveCloseButton);
248 QVBoxLayout* TotalLayout =
new QVBoxLayout();
249 TotalLayout->setContentsMargins(0, 0, 0, 0);
250 TotalLayout->setSpacing(5);
251 TotalLayout->addLayout(Gridlayout);
252 TotalLayout->addLayout(Hlayout1);
253 TotalLayout->addLayout(Hlayout2);
254 TotalLayout->addLayout(boolLayout);
255 TotalLayout->addLayout(SpacingHlayout);
257 this->setLayout(TotalLayout);
288 int w = this->width();
289 int h = this->height();
300 if (
mField->getValue().Originalcoord.empty())
322 QPainter painter(
this);
323 painter.setRenderHint(QPainter::Antialiasing,
true);
326 QBrush brush = QBrush(Qt::black, Qt::SolidPattern);
327 painter.setBrush(brush);
329 painter.drawRect(Bound);
332 QBrush brush2 = QBrush(QColor(100,100,100), Qt::CrossPattern);
333 painter.setBrush(brush2);
334 painter.drawRect(Bound);
339 QVector<QPointF> QCoordArray;
354 QPen LinePen = QPen(QPen(QBrush(QColor(200,200,200)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
355 painter.setPen(LinePen);
371 int idf = itf->second;
375 painter.drawPath(
mPath);
384 painter.drawPath(
mPath);
389 if (QCoordArray.size() >= 2)
391 for (
size_t i = 1; i < QCoordArray.size(); i++)
398 painter.drawPath(
mPath);
406 painter.drawPath(
mPath);
411 QPen LinePenWhite = QPen(QPen(QBrush(Qt::white), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
412 painter.setPen(LinePenWhite);
415 for (
size_t i = 0; i < ptNum; i++)
417 painter.setBrush(QBrush(Qt::gray, Qt::SolidPattern));
419 painter.setPen(QPen(QBrush(QColor(200, 200, 200), Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
426 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
428 painter.setPen(QPen(QBrush(Qt::white, Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
434 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
436 painter.setPen(QPen(QBrush(Qt::white, Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
456 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
460 QPen LinePen2 = QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
461 painter.setPen(LinePen2);
466 QPen LinePen2 = QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
467 painter.setPen(LinePen2);
482 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
483 painter.setPen(QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)));
495 painter.setBrush(QBrush(QColor(255, 0, 0), Qt::SolidPattern));
496 painter.setPen(QPen(QPen(QBrush(QColor(255, 0, 0)), 1, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)));