22 printf(
"QCurveWidget\n");
26 printf(
"QCurve Nullptr\n");
31 int curIndex2 = int(f->
getValue().getInterpMode());
32 int enumNum2 = f->
getValue().InterpolationCount;
33 QComboBox* combox2 =
new QComboBox;
34 combox2->setMaximumWidth(256);
35 combox2->addItem(QString::fromStdString(
"Linear"));
36 combox2->addItem(QString::fromStdString(
"Bezier"));
37 combox2->setCurrentIndex(curIndex2);
38 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)); ");
42 QLabel* name =
new QLabel();
43 name->setFixedSize(80, 18);
45 name->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
50 connect(combox2, SIGNAL(currentIndexChanged(
int)), DrawLabel, SLOT(changeInterpValue(
int)));
53 QVBoxLayout* VLayout =
new QVBoxLayout();
54 QSpacerItem* VSpacer =
new QSpacerItem(10, 380, QSizePolicy::Minimum, QSizePolicy::Expanding);
55 VLayout->addItem(VSpacer);
56 VLayout->addWidget(combox2);
57 VLayout->setSpacing(5);
59 QGridLayout* Gridlayout =
new QGridLayout;
60 Gridlayout->setContentsMargins(0, 0, 0, 0);
61 Gridlayout->setSpacing(5);
62 Gridlayout->addWidget(name, 0, 0,3,1, Qt::AlignLeft);
63 Gridlayout->addWidget(DrawLabel,0,1, Qt::AlignCenter);
64 Gridlayout->addLayout(VLayout,0,2, Qt::AlignRight);
65 Gridlayout->setColumnStretch(0, 0);
66 Gridlayout->setColumnStretch(1, 5);
67 Gridlayout->setColumnStretch(2, 0);
69 QLabel* spacingName =
new QLabel(
"Spacing");
75 spacingSlider->
id = -1;
77 spacingSpinner->setRange(1, 40);
79 spacingSpinner->
id = -1;
83 QObject::connect(spacingSlider, SIGNAL(valueChanged(
double)), spacingSpinner, SLOT(setValue(
double)));
84 QObject::connect(spacingSpinner, SIGNAL(valueChanged(
double)), spacingSlider, SLOT(setValue(
double)));
85 QObject::connect(spacingSpinner, SIGNAL(valueChangedAndID(
double,
int)), DrawLabel, SLOT(setSpacingToDrawLabel(
double,
int)));
87 QHBoxLayout* SpacingHlayout =
new QHBoxLayout;
88 SpacingHlayout->setContentsMargins(0, 0, 0, 0);
89 SpacingHlayout->setSpacing(0);
90 SpacingHlayout->addWidget(spacingName);
91 SpacingHlayout->addWidget(spacingSlider);
92 SpacingHlayout->addWidget(spacingSpinner);
94 QHBoxLayout* Hlayout1 =
new QHBoxLayout;
95 Hlayout1->setContentsMargins(0, 0, 0, 0);
96 Hlayout1->setSpacing(0);
99 QHBoxLayout* boolLayout =
new QHBoxLayout;
100 boolLayout->setContentsMargins(0, 0, 0, 0);
101 boolLayout->setSpacing(0);
103 QLabel* boolName =
new QLabel();
104 boolName->setFixedHeight(24);
105 boolName->setText(
"Resample");
108 Checkbox->QWidget::setFixedWidth(20);
109 Checkbox->QAbstractButton::setChecked(f->
getValue().getResample());
111 connect(Checkbox, SIGNAL(mValueChanged(
int)), DrawLabel, SLOT(setLinearResample(
int)));
112 connect(Checkbox, SIGNAL(mValueChanged(
int)), spacingSlider, SLOT(setNewVisable(
int)));
113 connect(Checkbox, SIGNAL(mValueChanged(
int)), spacingSpinner, SLOT(setNewVisable(
int)));
115 connect(combox2, SIGNAL(currentIndexChanged(
int)), Checkbox, SLOT(updateChecked(
int)));
117 if (f->
getValue().getResample() ==
false)
119 spacingSlider->setVisible(
false);
120 spacingSpinner->setVisible(
false);
121 spacingName->setVisible(
false);
124 boolLayout->addWidget(boolName, 0);
125 boolLayout->addStretch(1);
126 boolLayout->addWidget(Checkbox, 0);
130 curveCloseButton->
setText(
"Close",
"Open");
131 curveCloseButton->setStyleSheet
133 "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));} "
135 VLayout->addWidget(curveCloseButton);
140 QVBoxLayout* TotalLayout =
new QVBoxLayout();
141 TotalLayout->setContentsMargins(0, 0, 0, 0);
142 TotalLayout->setSpacing(5);
143 TotalLayout->addLayout(Gridlayout);
144 TotalLayout->addLayout(Hlayout1);
145 TotalLayout->addLayout(boolLayout);
146 TotalLayout->addLayout(SpacingHlayout);
148 this->setLayout(TotalLayout);
175 int w = this->width();
176 int h = this->height();
187 if (
mField->getValue().getUserPoints().empty())
209 QPainter painter(
this);
210 painter.setRenderHint(QPainter::Antialiasing,
true);
213 QBrush brush = QBrush(Qt::black, Qt::SolidPattern);
214 painter.setBrush(brush);
216 painter.drawRect(Bound);
219 QBrush brush2 = QBrush(QColor(100,100,100), Qt::CrossPattern);
220 painter.setBrush(brush2);
221 painter.drawRect(Bound);
226 QVector<QPointF> QCoordArray;
241 QPen LinePen = QPen(QPen(QBrush(QColor(200,200,200)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
242 painter.setPen(LinePen);
258 int idf = itf->second;
262 painter.drawPath(
mPath);
271 painter.drawPath(
mPath);
276 if (QCoordArray.size() >= 2)
278 for (
size_t i = 1; i < QCoordArray.size(); i++)
285 painter.drawPath(
mPath);
293 painter.drawPath(
mPath);
298 QPen LinePenWhite = QPen(QPen(QBrush(Qt::white), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
299 painter.setPen(LinePenWhite);
302 for (
size_t i = 0; i < ptNum; i++)
304 painter.setBrush(QBrush(Qt::gray, Qt::SolidPattern));
306 painter.setPen(QPen(QBrush(QColor(200, 200, 200), Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
313 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
315 painter.setPen(QPen(QBrush(Qt::white, Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
321 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
323 painter.setPen(QPen(QBrush(Qt::white, Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
343 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
347 QPen LinePen2 = QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
348 painter.setPen(LinePen2);
353 QPen LinePen2 = QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
354 painter.setPen(LinePen2);
369 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
370 painter.setPen(QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)));
382 painter.setBrush(QBrush(QColor(255, 0, 0), Qt::SolidPattern));
383 painter.setPen(QPen(QPen(QBrush(QColor(255, 0, 0)), 1, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)));