PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Rendering
GUI
WtGUI
PropertyItem
WVector3iFieldWidget.cpp
Go to the documentation of this file.
1
#include "
WVector3iFieldWidget.h
"
2
3
WVector3iFieldWidget::WVector3iFieldWidget
(
dyno::FBase
* field)
4
: Wt::WContainerWidget()
5
{
6
layout
= this->setLayout(std::make_unique<Wt::WHBoxLayout>());
7
layout
->setContentsMargins(0, 0, 0, 0);
8
layout
->setSpacing(0);
9
10
setValue
(field);
11
mfield
= field;
12
13
mData1
->valueChanged().connect(
this
, &
WVector3iFieldWidget::updateField
);
14
mData2
->valueChanged().connect(
this
, &
WVector3iFieldWidget::updateField
);
15
mData3
->valueChanged().connect(
this
, &
WVector3iFieldWidget::updateField
);
16
}
17
18
WVector3iFieldWidget::~WVector3iFieldWidget
()
19
{
20
}
21
22
void
WVector3iFieldWidget::setValue
(
dyno::FBase
* field)
23
{
24
std::string template_name = field->
getTemplateName
();
25
26
int
v1 = 0;
27
int
v2 = 0;
28
int
v3 = 0;
29
30
if
(template_name == std::string(
typeid
(
dyno::Vec3i
).name()))
31
{
32
dyno::FVar<dyno::Vec3i>
* f =
TypeInfo::cast<dyno::FVar<dyno::Vec3i>
>(field);
33
auto
v = f->
getData
();
34
v1 = v[0];
35
v2 = v[1];
36
v3 = v[2];
37
}
38
else
if
(template_name == std::string(
typeid
(
dyno::Vec3u
).name()))
39
{
40
dyno::FVar<dyno::Vec3u>
* f =
TypeInfo::cast<dyno::FVar<dyno::Vec3u>
>(field);
41
auto
v = f->
getData
();
42
43
v1 = v[0];
44
v2 = v[1];
45
v3 = v[2];
46
}
47
mData1
=
layout
->addWidget(std::make_unique<Wt::WSpinBox>());
48
mData2
=
layout
->addWidget(std::make_unique<Wt::WSpinBox>());
49
mData3
=
layout
->addWidget(std::make_unique<Wt::WSpinBox>());
50
51
mData1
->setRange(field->
getMin
(), field->
getMax
());
52
mData2
->setRange(field->
getMin
(), field->
getMax
());
53
mData3
->setRange(field->
getMin
(), field->
getMax
());
54
55
mData1
->setSingleStep(1);
56
mData2
->setSingleStep(1);
57
mData3
->setSingleStep(1);
58
59
mData1
->setValue(v1);
60
mData2
->setValue(v2);
61
mData3
->setValue(v3);
62
}
63
64
void
WVector3iFieldWidget::updateField
()
65
{
66
int
v1 =
mData1
->value();
67
int
v2 =
mData2
->value();
68
int
v3 =
mData3
->value();
69
70
std::string template_name =
mfield
->getTemplateName();
71
72
if
(template_name == std::string(
typeid
(
dyno::Vec3i
).name()))
73
{
74
dyno::FVar<dyno::Vec3i>
* f =
TypeInfo::cast<dyno::FVar<dyno::Vec3i>
>(
mfield
);
75
f->
setValue
(
dyno::Vec3i
(v1, v2, v3));
76
changeValue_
.emit(1);
77
}
78
else
if
(template_name == std::string(
typeid
(
dyno::Vec3u
).name()))
79
{
80
dyno::FVar<dyno::Vec3u>
* f =
TypeInfo::cast<dyno::FVar<dyno::Vec3u>
>(
mfield
);
81
f->
setValue
(
dyno::Vec3u
(v1, v2, v3));
82
changeValue_
.emit(1);
83
}
84
}
WVector3iFieldWidget.h
WVector3iFieldWidget::setValue
void setValue(dyno::FBase *)
Definition
WVector3iFieldWidget.cpp:22
WVector3iFieldWidget::~WVector3iFieldWidget
~WVector3iFieldWidget()
Definition
WVector3iFieldWidget.cpp:18
WVector3iFieldWidget::WVector3iFieldWidget
WVector3iFieldWidget(dyno::FBase *)
Definition
WVector3iFieldWidget.cpp:3
WVector3iFieldWidget::mfield
dyno::FBase * mfield
Definition
WVector3iFieldWidget.h:28
WVector3iFieldWidget::changeValue_
Wt::Signal< int > changeValue_
Definition
WVector3iFieldWidget.h:33
WVector3iFieldWidget::mData2
Wt::WSpinBox * mData2
Definition
WVector3iFieldWidget.h:31
WVector3iFieldWidget::layout
Wt::WHBoxLayout * layout
Definition
WVector3iFieldWidget.h:29
WVector3iFieldWidget::updateField
void updateField()
Definition
WVector3iFieldWidget.cpp:64
WVector3iFieldWidget::mData1
Wt::WSpinBox * mData1
Definition
WVector3iFieldWidget.h:30
WVector3iFieldWidget::mData3
Wt::WSpinBox * mData3
Definition
WVector3iFieldWidget.h:32
dyno::FBase
Definition
FBase.h:44
dyno::FBase::getTemplateName
virtual const std::string getTemplateName()
Definition
FBase.h:51
dyno::FBase::getMin
float getMin()
Definition
FBase.h:81
dyno::FBase::getMax
float getMax()
Definition
FBase.h:84
dyno::FVar
Definition
Field.h:34
dyno::FVar::getData
DataType getData()
Definition
Field.h:74
dyno::FVar::setValue
void setValue(T val)
Definition
Field.h:111
TypeInfo::cast
TA * cast(TB *b)
Definition
Typedef.inl:286
dyno::Vec3u
Vector< uint, 3 > Vec3u
Definition
Vector3D.h:96
dyno::Vec3i
Vector< int, 3 > Vec3i
Definition
Vector3D.h:95
Generated by
1.13.2