PeriDyno
1.2.1
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Rendering
GUI
QtGUI
PropertyItem
QPiecewiseDoubleSpinBox.cpp
Go to the documentation of this file.
1
#include "
QPiecewiseDoubleSpinBox.h
"
2
3
#include "
Module.h
"
4
#include "
Node.h
"
5
#include "
Field.h
"
6
#include "
SceneGraphFactory.h
"
7
8
#include <QVBoxLayout>
9
10
#include <memory>
11
#include "
QValueDialog.h
"
12
13
namespace
dyno
14
{
15
16
17
QPiecewiseDoubleSpinBox::QPiecewiseDoubleSpinBox
(QWidget* parent)
18
: QDoubleSpinBox(parent)
19
{
20
this->setRange(-999999, 999999);
21
this->setContentsMargins(0, 0, 0, 0);
22
23
connect(
this
, &QDoubleSpinBox::editingFinished,
this
, &
QPiecewiseDoubleSpinBox::onEditingFinished
);
24
25
this->setDecimals(
decimalsMax
);
26
27
lineEdit()->installEventFilter(
this
);
28
this->setKeyboardTracking(
false
);
29
30
}
31
32
QPiecewiseDoubleSpinBox::QPiecewiseDoubleSpinBox
(
Real
v,QWidget* parent)
33
: QDoubleSpinBox(parent)
34
{
35
this->setRange(-999999, 999999);
36
this->setValue(v);
37
this->
setRealValue
(v);
38
39
this->setDecimals(
decimalsMax
);
40
this->setKeyboardTracking(
false
);
41
}
42
43
void
QPiecewiseDoubleSpinBox::wheelEvent
(QWheelEvent* event)
44
{
45
46
}
47
48
void
QPiecewiseDoubleSpinBox::contextMenuEvent
(QContextMenuEvent* event)
49
{
50
QDoubleSpinBox::contextMenuEvent(event);
51
}
52
53
void
QPiecewiseDoubleSpinBox::mousePressEvent
(QMouseEvent* event)
54
{
55
if
(event->button() == Qt::MiddleButton)
56
{
57
createValueDialog
();
58
}
59
60
QDoubleSpinBox::mousePressEvent(event);
61
62
}
63
64
void
QPiecewiseDoubleSpinBox::mouseReleaseEvent
(QMouseEvent* event)
65
{
66
QDoubleSpinBox::mouseReleaseEvent(event);
67
}
68
69
void
QPiecewiseDoubleSpinBox::mouseMoveEvent
(QMouseEvent* event)
70
{
71
QDoubleSpinBox::mouseMoveEvent(event);
72
73
}
74
75
bool
QPiecewiseDoubleSpinBox::eventFilter
(QObject* obj, QEvent* event)
76
{
77
if
(obj == lineEdit())
78
{
79
if
(event->type() == QEvent::MouseButtonPress)
80
{
81
QMouseEvent* mouseEvent =
static_cast<
QMouseEvent*
>
(event);
82
if
(mouseEvent->button() == Qt::MiddleButton)
83
{
84
createValueDialog
();
85
return
true
;
86
}
87
}
88
}
89
return
QDoubleSpinBox::eventFilter(obj, event);
90
}
91
92
void
QPiecewiseDoubleSpinBox::createValueDialog
()
93
{
94
if
(
mValueDialog
==
nullptr
)
95
mValueDialog
=
new
QValueDialog
(
this
);
96
mValueDialog
->updateDialogPosition();
97
mValueDialog
->show();
98
}
99
100
double
QPiecewiseDoubleSpinBox::setRealValue
(
double
val)
101
{
102
this->setKeyboardTracking(
true
);
103
realValue
= val;
104
this->lineEdit()->setText(QString::number(
realValue
, 10,
displayDecimals
));
105
this->setKeyboardTracking(
false
);
106
107
return
realValue
;
108
}
109
110
}
111
Field.h
Module.h
Node.h
QPiecewiseDoubleSpinBox.h
QValueDialog.h
SceneGraphFactory.h
Real
double Real
Definition
Typedef.inl:23
dyno::QPiecewiseDoubleSpinBox::QPiecewiseDoubleSpinBox
QPiecewiseDoubleSpinBox(QWidget *parent=nullptr)
Definition
QPiecewiseDoubleSpinBox.cpp:17
dyno::QPiecewiseDoubleSpinBox::createValueDialog
void createValueDialog()
Definition
QPiecewiseDoubleSpinBox.cpp:92
dyno::QPiecewiseDoubleSpinBox::decimalsMax
int decimalsMax
Definition
QPiecewiseDoubleSpinBox.h:216
dyno::QPiecewiseDoubleSpinBox::mValueDialog
QValueDialog * mValueDialog
Definition
QPiecewiseDoubleSpinBox.h:71
dyno::QPiecewiseDoubleSpinBox::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event) override
Definition
QPiecewiseDoubleSpinBox.cpp:48
dyno::QPiecewiseDoubleSpinBox::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event) override
Definition
QPiecewiseDoubleSpinBox.cpp:69
dyno::QPiecewiseDoubleSpinBox::mousePressEvent
void mousePressEvent(QMouseEvent *event) override
Definition
QPiecewiseDoubleSpinBox.cpp:53
dyno::QPiecewiseDoubleSpinBox::eventFilter
bool eventFilter(QObject *obj, QEvent *event) override
Definition
QPiecewiseDoubleSpinBox.cpp:75
dyno::QPiecewiseDoubleSpinBox::realValue
double realValue
Definition
QPiecewiseDoubleSpinBox.h:218
dyno::QPiecewiseDoubleSpinBox::setRealValue
double setRealValue(double val)
Definition
QPiecewiseDoubleSpinBox.cpp:100
dyno::QPiecewiseDoubleSpinBox::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *event) override
Definition
QPiecewiseDoubleSpinBox.cpp:64
dyno::QPiecewiseDoubleSpinBox::onEditingFinished
void onEditingFinished()
Definition
QPiecewiseDoubleSpinBox.h:183
dyno::QPiecewiseDoubleSpinBox::wheelEvent
void wheelEvent(QWheelEvent *event)
Definition
QPiecewiseDoubleSpinBox.cpp:43
dyno::QPiecewiseDoubleSpinBox::displayDecimals
int displayDecimals
Definition
QPiecewiseDoubleSpinBox.h:217
dyno::QValueDialog
Definition
QValueDialog.h:52
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2