FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
nodeeditor/examples/example2/TextDisplayDataModel.hpp at v2 · BehaviorTree/nodeeditor · GitHub
BehaviorTree
/
nodeeditor
Public
forked from
l3enQ/nodeeditor
Notifications
You must be signed in to change notification settings
Fork
0
Star
4
Code
Pull requests
1
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
nodeeditor
/
examples
/
example2
/
TextDisplayDataModel.hpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
107 lines (81 loc) · 2.14 KB
Breadcrumbs
nodeeditor
/
examples
/
example2
/
TextDisplayDataModel.hpp
Copy path
File metadata and controls
107 lines (81 loc) · 2.14 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#
pragma
once
#
include
<
QtCore/QObject
>
#
include
<
QtWidgets/QLabel
>
#
include
"
TextData.hpp
"
#
include
<
nodes/NodeDataModel
>
#
include
<
iostream
>
#
include
<
vector
>
using
QtNodes::PortType;
using
QtNodes::PortIndex;
using
QtNodes::NodeData;
using
QtNodes::NodeDataModel;
//
/ The model dictates the number of inputs and outputs for the Node.
//
/ In this example it has no logic.
class
TextDisplayDataModel
:
public
NodeDataModel
{
Q_OBJECT
public:
TextDisplayDataModel
();
virtual
~TextDisplayDataModel
() {}
public:
QString
caption
()
const
override
{
return
QString
(
"
Text Display
"
); }
bool
captionVisible
()
const
override
{
return
false
; }
static
QString
Name
()
{
return
QString
(
"
TextDisplayDataModel
"
); }
QString
name
()
const
override
{
return
TextDisplayDataModel::Name
(); }
public:
unsigned
int
nPorts
(PortType portType)
const
override
;
NodeDataType
dataType
(PortType portType, PortIndex portIndex)
const
override
;
std::shared_ptr<NodeData>
outData
(PortIndex port)
override
;
ConnectionPolicy
portInConnectionPolicy
(PortIndex)
const
override
{
return
ConnectionPolicy::Many;
}
void
setInData
(std::shared_ptr<NodeData> data,
int
)
override
{
}
void
setInData
(std::shared_ptr<NodeData> data,
int
,
const
QUuid& connectionId)
override
{
auto
textData = std::dynamic_pointer_cast<TextData>(data);
auto
it =
std::find_if
(inputTexts.
begin
(), inputTexts.
end
(),
[
this
, &connectionId](
const
auto
& e)
{
return
e.
first
== connectionId;
});
if
(textData)
{
if
(it == inputTexts.
end
())
inputTexts.
emplace_back
(connectionId, textData->
text
());
else
it->
second
= textData->
text
();
}
else
{
inputTexts.
erase
(it);
}
QStringList textList;
for
(
auto
&& entry : inputTexts) textList.
push_back
(entry.
second
);
_label->
setText
(
QStringLiteral
(
"
%1 inputs: %2
"
)
.
arg
(textList.
size
())
.
arg
(textList.
join
(
QStringLiteral
(
"
,
"
))));
_label->
adjustSize
();
}
QWidget *
embeddedWidget
()
override
{
return
_label; }
private:
QLabel * _label;
std::vector<std::pair<QUuid, QString>> inputTexts;
};
Back
|
FazBrowse Home
|
New Git URL