aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/node.rs')
-rw-r--r--src/node.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/node.rs b/src/node.rs
index 859799b..659d67f 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -34,6 +34,7 @@ pub enum AnyNode {
Constant(library::AnyConstant),
Conversion(library::Conversion),
Input(library::Input),
+ Arithmetic(library::BinArithmetic),
Builtin(library::BuiltinFunction),
Output(library::Output),
}
@@ -52,13 +53,16 @@ impl NodeIndex for AnyNode {
fn pick_node(ui: &mut egui::Ui) -> Option<Self> {
ui.label("Add node");
- let a = library::AnyConstant::pick_node(ui).map(AnyNode::from);
- let b = library::Conversion::pick_node(ui).map(AnyNode::from);
- let c = library::Input::pick_node(ui).map(AnyNode::from);
- let d = library::Output::pick_node(ui).map(AnyNode::from);
- let e = library::BuiltinFunction::pick_node(ui).map(AnyNode::from);
-
- a.or(b).or(c).or(d).or(e)
+ None.or(library::AnyConstant::pick_node(ui).map(AnyNode::from))
+ .or(library::Input::pick_node(ui).map(AnyNode::from))
+ .or(library::Output::pick_node(ui).map(AnyNode::from))
+ .or({
+ ui.separator();
+ None
+ })
+ .or(library::BinArithmetic::pick_node(ui).map(AnyNode::from))
+ .or(library::Conversion::pick_node(ui).map(AnyNode::from))
+ .or(library::BuiltinFunction::pick_node(ui).map(AnyNode::from))
}
}
@@ -68,6 +72,7 @@ impl fmt::Display for AnyNode {
Self::Constant(x) => fmt::Display::fmt(x, f),
Self::Conversion(x) => fmt::Display::fmt(x, f),
Self::Input(x) => fmt::Display::fmt(x, f),
+ Self::Arithmetic(x) => fmt::Display::fmt(x, f),
Self::Builtin(x) => fmt::Display::fmt(x, f),
Self::Output(x) => fmt::Display::fmt(x, f),
}