Expand description
tree(...)
docs.
Annotation to build static Tree UIs.
This is a rather complex annotation. It’s not meant to be used extensively though..
§Optional params
label = ".."
mode label.flags = ".."
path to a function returningImGuiTreeNodeFlags
, which is used to customize how a tree node looks.node(..)
list of widget annotations.cond
One of the [Condition
] variants.
§Example
use imgui::{ImGuiTreeNodeFlags, ImString};
#[derive(imgui_ext::Gui)]
pub struct Tree {
#[imgui(tree(
label = "Sliders",
cond = "FirstUseEver",
flags = "flags",
node(nested)
))]
sliders: Sliders,
#[imgui(tree(label = "Inputs", flags = "flags", node(nested)))]
inputs: Inputs,
#[imgui(tree(label = "Color picker", flags = "flags", node(color(picker))))]
color: [f32; 3],
}
fn flags() -> ImGuiTreeNodeFlags {
ImGuiTreeNodeFlags::Framed
}
#[derive(imgui_ext::Gui)]
pub struct Sliders {
#[imgui(text("Slider widgets:"), slider(min = 0.0, max = 3.0))]
s1: f32,
#[imgui(slider(min = "-4", max = 4))]
s2: [i32; 3],
#[imgui(slider(min = "-1.0", max = 1.0))]
s3: [f64; 2],
}
#[derive(imgui_ext::Gui)]
pub struct Inputs {
#[imgui(text("Input widgets:"), input)]
i1: f32,
#[imgui(input)]
i2: imgui::ImString,
#[imgui(input)]
i3: [f32; 8],
}