22 printf(
"QRampWidget\n");
26 printf(
"QRamp Nullptr\n");
36 int curIndex = int(f->
getValue().Dirmode);
38 QComboBox* combox =
new QComboBox;
39 combox->setMaximumWidth(256);
40 for (
size_t i = 0; i < enumNum; i++)
42 auto enumName = f->
getValue().DirectionStrings[i];
43 combox->addItem(QString::fromStdString(enumName));
45 combox->setCurrentIndex(curIndex);
49 int curIndex2 = int(f->
getValue().mInterpMode);
50 int enumNum2 = f->
getValue().InterpolationCount;
51 QComboBox* combox2 =
new QComboBox;
52 combox2->setMaximumWidth(256);
53 for (
size_t i = 0; i < enumNum; i++)
55 auto enumName2 = f->
getValue().InterpStrings[i];
56 combox2->addItem(QString::fromStdString(enumName2));
58 combox2->setCurrentIndex(curIndex2);
59 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)); ");
65 QLabel* name =
new QLabel();
66 name->setFixedSize(80, 18);
68 name->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
75 DrawLabel->
setMode(combox->currentIndex());
87 connect(combox, SIGNAL(currentIndexChanged(
int)), DrawLabel, SLOT(changeValue(
int)));
88 connect(combox2, SIGNAL(currentIndexChanged(
int)), DrawLabel, SLOT(changeInterpValue(
int)));
91 QVBoxLayout* VLayout =
new QVBoxLayout();
92 QSpacerItem* VSpacer =
new QSpacerItem(10, 380, QSizePolicy::Minimum, QSizePolicy::Expanding);
93 VLayout->addItem(VSpacer);
94 VLayout->addWidget(combox2);
95 VLayout->setSpacing(5);
98 QGridLayout* Gridlayout =
new QGridLayout;
99 Gridlayout->setContentsMargins(0, 0, 0, 0);
100 Gridlayout->setSpacing(5);
101 Gridlayout->addWidget(name, 0, 0,3,1, Qt::AlignLeft);
102 Gridlayout->addWidget(DrawLabel,0,1, Qt::AlignCenter);
103 Gridlayout->addLayout(VLayout,0,2, Qt::AlignRight);
104 Gridlayout->setColumnStretch(0, 0);
105 Gridlayout->setColumnStretch(1, 5);
106 Gridlayout->setColumnStretch(2, 0);
109 QLabel* spacingName =
new QLabel(
"Spacing");
115 spacingSlider->
id = -1;
117 spacingSpinner->setRange(1, 40);
119 spacingSpinner->
id = -1;
120 QObject::connect(spacingSlider, SIGNAL(valueChanged(
double)), spacingSpinner, SLOT(setValue(
double)));
121 QObject::connect(spacingSpinner, SIGNAL(valueChanged(
double)), spacingSlider, SLOT(setValue(
double)));
122 QObject::connect(spacingSpinner, SIGNAL(valueChangedAndID(
double,
int)), DrawLabel, SLOT(setSpacingToDrawLabel(
double,
int)));
124 QHBoxLayout* SpacingHlayout =
new QHBoxLayout;
125 SpacingHlayout->setContentsMargins(0, 0, 0, 0);
126 SpacingHlayout->setSpacing(0);
127 SpacingHlayout->addWidget(spacingName);
128 SpacingHlayout->addWidget(spacingSlider);
129 SpacingHlayout->addWidget(spacingSpinner);
135 std::string nameString[4] = {
"MinX",
"MinY",
"MaxX",
"MaxY" };
137 QHBoxLayout* Hlayout1 =
new QHBoxLayout;
138 Hlayout1->setContentsMargins(0, 0, 0, 0);
139 Hlayout1->setSpacing(0);
141 QHBoxLayout* Hlayout2 =
new QHBoxLayout;
142 Hlayout2->setContentsMargins(0, 0, 0, 0);
143 Hlayout2->setSpacing(0);
145 for (
size_t i = 0; i < 4; i++)
147 nameReal[i] =
new QLabel(QString::fromStdString(nameString[i]));
150 sliderReal[i]->
id = i;
153 spinnerReal[i]->
id = i;
155 auto rangeArray = f->
getValue().remapRange;
157 sliderReal[i]->
setRange(rangeArray[2 * i], rangeArray[2 * i + 1]);
158 spinnerReal[i]->setRange(rangeArray[2 * i], rangeArray[2 * i + 1]);
160 QObject::connect(sliderReal[i], SIGNAL(valueChanged(
double)), spinnerReal[i], SLOT(setValue(
double)));
161 QObject::connect(spinnerReal[i], SIGNAL(valueChanged(
double)), sliderReal[i], SLOT(setValue(
double)));
162 QObject::connect(spinnerReal[i], SIGNAL(valueChangedAndID(
double,
int)), DrawLabel, SLOT(SetValueToDrawLabel(
double,
int)));
191 Hlayout1->addWidget(nameReal[i]);
192 Hlayout1->addWidget(sliderReal[i]);
193 Hlayout1->addWidget(spinnerReal[i]);
197 Hlayout2->addWidget(nameReal[i]);
198 Hlayout2->addWidget(sliderReal[i]);
199 Hlayout2->addWidget(spinnerReal[i]);
204 QHBoxLayout* boolLayout =
new QHBoxLayout;
205 boolLayout->setContentsMargins(0, 0, 0, 0);
206 boolLayout->setSpacing(0);
208 QLabel* boolName =
new QLabel();
209 boolName->setFixedHeight(24);
210 boolName->setText(
"Resample");
213 Checkbox->QWidget::setFixedWidth(20);
214 Checkbox->QAbstractButton::setChecked(f->
getValue().resample);
216 connect(Checkbox, SIGNAL(mValueChanged(
int)), DrawLabel, SLOT(setLinearResample(
int)));
217 connect(Checkbox, SIGNAL(mValueChanged(
int)), spacingSlider, SLOT(setNewVisable(
int)));
218 connect(Checkbox, SIGNAL(mValueChanged(
int)), spacingSpinner, SLOT(setNewVisable(
int)));
220 if (f->
getValue().resample ==
false)
222 spacingSlider->setVisible(
false);
223 spacingSpinner->setVisible(
false);
224 spacingName->setVisible(
false);
228 boolLayout->addWidget(boolName, 0);
229 boolLayout->addStretch(1);
230 boolLayout->addWidget(Checkbox, 0);
239 unfold->
setText(
"Squard",
"Rect");
240 unfold->setStyleSheet(
241 "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));} "
245 VLayout->addWidget(unfold);
249 QVBoxLayout* TotalLayout =
new QVBoxLayout();
250 TotalLayout->setContentsMargins(0, 0, 0, 0);
251 TotalLayout->setSpacing(5);
252 TotalLayout->addLayout(Gridlayout);
253 TotalLayout->addLayout(Hlayout1);
254 TotalLayout->addLayout(Hlayout2);
255 TotalLayout->addLayout(boolLayout);
256 TotalLayout->addLayout(SpacingHlayout);
258 this->setLayout(TotalLayout);
277 int w = this->width();
278 int h = this->height();
289 if (
mField->getValue().Originalcoord.empty())
338 QPainter painter(
this);
339 painter.setRenderHint(QPainter::Antialiasing,
true);
342 QBrush brush = QBrush(Qt::black, Qt::SolidPattern);
343 painter.setBrush(brush);
345 painter.drawRect(Bound);
348 QBrush brush2 = QBrush(QColor(100,100,100), Qt::CrossPattern);
349 painter.setBrush(brush2);
350 painter.drawRect(Bound);
355 QVector<QPointF> QCoordArray;
370 QPen LinePen = QPen(QPen(QBrush(QColor(200,200,200)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
371 painter.setPen(LinePen);
387 int idf = itf->second;
391 painter.drawPath(
mPath);
397 if (QCoordArray.size() >= 2)
399 for (
size_t i = 1; i < QCoordArray.size(); i++)
406 painter.drawPath(
mPath);
412 QPen LinePenWhite = QPen(QPen(QBrush(Qt::white), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
413 painter.setPen(LinePenWhite);
416 for (
size_t i = 0; i < ptNum; i++)
418 painter.setBrush(QBrush(Qt::gray, Qt::SolidPattern));
420 painter.setPen(QPen(QBrush(QColor(200, 200, 200), Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
427 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
429 painter.setPen(QPen(QBrush(Qt::white, Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
435 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
437 painter.setPen(QPen(QBrush(Qt::white, Qt::SolidPattern), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
470 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
474 QPen LinePen2 = QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
475 painter.setPen(LinePen2);
480 QPen LinePen2 = QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin));
481 painter.setPen(LinePen2);
496 painter.setBrush(QBrush(QColor(80, 179, 255), Qt::SolidPattern));
497 painter.setPen(QPen(QPen(QBrush(QColor(255, 255, 255)), 2, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)));
509 painter.setBrush(QBrush(QColor(255, 0, 0), Qt::SolidPattern));
510 painter.setPen(QPen(QPen(QBrush(QColor(255, 0, 0)), 1, Qt::SolidLine, Qt::SquareCap, Qt::BevelJoin)));