Skip to content

Commit f146624

Browse files
committed
Updated example
1 parent 3339239 commit f146624

1 file changed

Lines changed: 35 additions & 28 deletions

File tree

example/example.hpp

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,40 @@
1-
/**
2-
* This is a minimal implementation of the Simple Sum example
3-
*/
41
#pragma once
52

63
#include "ImNodeFlow.h"
74

8-
/* The simple sum basic node */
9-
class SimpleSum : public ImFlow::BaseNode
10-
{
11-
5+
class SimpleSum : public ImFlow::BaseNode {
126
public:
13-
SimpleSum()
14-
{
7+
SimpleSum() {
158
setTitle("Simple sum");
169
setStyle(ImFlow::NodeStyle::green());
1710
ImFlow::BaseNode::addIN<int>("In", 0, ImFlow::ConnectionFilter::SameType());
18-
ImFlow::BaseNode::addOUT<int>("Out", nullptr)->behaviour([this](){ return getInVal<int>("In") + m_valB; });
11+
ImFlow::BaseNode::addOUT<int>("Out", nullptr)->behaviour([this]() { return getInVal<int>("In") + m_valB; });
12+
}
13+
14+
void draw() override {
15+
ImGui::SetNextItemWidth(100.f);
16+
ImGui::InputInt("##ValB", &m_valB);
17+
}
18+
19+
private:
20+
int m_valB = 0;
21+
};
22+
23+
class CollapsingNode : public ImFlow::BaseNode {
24+
public:
25+
CollapsingNode() {
26+
setTitle("Collapsing node");
27+
setStyle(ImFlow::NodeStyle::red());
28+
ImFlow::BaseNode::addIN<int>("In", 0, ImFlow::ConnectionFilter::SameType());
29+
ImFlow::BaseNode::addIN<int>("Other", 0, ImFlow::ConnectionFilter::SameType());
30+
ImFlow::BaseNode::addOUT<int>("Out", nullptr)->behaviour([this]() { return getInVal<int>("In") + m_valB; });
1931
}
2032

21-
void draw() override
22-
{
33+
void draw() override {
2334
if(ImFlow::BaseNode::isSelected()) {
24-
ImGui::SetNextItemWidth(100.f);
25-
ImGui::InputInt("##ValB", &m_valB);
26-
ImGui::Button("Hello");
35+
ImGui::Text("You can only see me when the node is selected!");
36+
ImGui::SetNextItemWidth(100.f);
37+
ImGui::InputInt("##ValB", &m_valB);
2738
}
2839
}
2940

@@ -32,26 +43,22 @@ class SimpleSum : public ImFlow::BaseNode
3243
};
3344

3445
/* Node editor that sets up the grid to place nodes */
35-
struct NodeEditor : ImFlow::BaseNode
36-
{
46+
struct NodeEditor : ImFlow::BaseNode {
3747
ImFlow::ImNodeFlow mINF;
38-
NodeEditor(float d, std::size_t r)
39-
: BaseNode()
40-
{
41-
mINF.setSize({d,d});
42-
if(r > 0) {
43-
mINF.addNode<SimpleSum>({0,0});
44-
mINF.addNode<SimpleSum>({10,10});
48+
49+
NodeEditor(float d, std::size_t r) : BaseNode() {
50+
mINF.setSize({d, d});
51+
if (r > 0) {
52+
mINF.addNode<SimpleSum>({0, 0});
53+
mINF.addNode<SimpleSum>({10, 10});
4554
}
4655
}
4756

48-
void set_size(ImVec2 d)
49-
{
57+
void set_size(ImVec2 d) {
5058
mINF.setSize(d);
5159
}
5260

53-
void draw() override
54-
{
61+
void draw() override {
5562
mINF.update();
5663
}
5764
};

0 commit comments

Comments
 (0)