PeriDyno 1.2.1
Loading...
Searching...
No Matches
QPiecewiseSpinBox.h
Go to the documentation of this file.
1
19#pragma once
20//Qt
21#include <QGroupBox>
22#include <QPushButton>
23#include <QSpinBox>
24#include <QDialog>
25#include <QLineEdit>
26#include <QMouseEvent>
27#include <QWheelEvent>
28#include <QLabel>
29#include <QVBoxLayout>
30
31//PeriDyno
32#include "Format.h"
33#include "FCallBackFunc.h"
34#include "QtGUI/Common.h"
35
36//C++
37#include <memory>
38#include <sstream>
39
40namespace dyno
41{
42 class Node;
43 class Module;
44 class FBase;
45
46 class QDoubleSpinner;
47 class QDoubleSlider;
49 class QValueDialog;
50
54 class QPiecewiseSpinBox : public QSpinBox
55 {
56 Q_OBJECT
57 public:
58 explicit QPiecewiseSpinBox(QWidget* parent = nullptr);
59
60 public:
61
62 protected:
63 bool eventFilter(QObject* obj, QEvent* event) override;
64
65 void createValueDialog();
66
67 QValidator::State validate(QString& input, int& pos) const override
68 {
69 if (input.isEmpty())
70 return QValidator::Intermediate;
71
72 bool ok = false;
73 int val = input.toInt(&ok);
74
75 if (!ok)
76 return QValidator::Invalid;
77
78 if (val < minimum())
79 {
80 input = QString::number(this->minimum());
81 }
82 else if (val > maximum())
83 {
84 input = QString::number(this->maximum());
85 }
86
87 return QValidator::Acceptable;
88 }
89
90 private:
91
92 void wheelEvent(QWheelEvent* event);
93
94 void contextMenuEvent(QContextMenuEvent* event) override;
95
96 void mousePressEvent(QMouseEvent* event) override;
97
98 private:
100 };
101}
void contextMenuEvent(QContextMenuEvent *event) override
void mousePressEvent(QMouseEvent *event) override
QPiecewiseSpinBox(QWidget *parent=nullptr)
QValidator::State validate(QString &input, int &pos) const override
void wheelEvent(QWheelEvent *event)
bool eventFilter(QObject *obj, QEvent *event) override
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
DYN_FUNC T minimum(const T &v0, const T &v1)
Definition SimpleMath.h:120
DYN_FUNC T maximum(const T &v0, const T &v1)
Definition SimpleMath.h:160