pub struct Treeize<T> { /* private fields */ }Expand description
Treeize is generic node-graph container.
It holds graph state - positioned nodes and wires between their pins.
It can be rendered using Treeize::show.
Implementations§
Source§impl<T> Treeize<T>
impl<T> Treeize<T>
Sourcepub fn show<V>(
&mut self,
viewer: &mut V,
style: &TreeizeStyle,
id_salt: impl Hash,
ui: &mut Ui,
)where
V: TreeizeViewer<T>,
pub fn show<V>(
&mut self,
viewer: &mut V,
style: &TreeizeStyle,
id_salt: impl Hash,
ui: &mut Ui,
)where
V: TreeizeViewer<T>,
Source§impl<T> Treeize<T>
impl<T> Treeize<T>
Sourcepub fn insert_node(&mut self, pos: Pos2, node: T) -> NodeId
pub fn insert_node(&mut self, pos: Pos2, node: T) -> NodeId
Adds a node to the Treeize. Returns the index of the node.
§Examples
let mut treeize = Treeize::<()>::new();
treeize.insert_node(egui::pos2(0.0, 0.0), ());Sourcepub fn insert_node_collapsed(&mut self, pos: Pos2, node: T) -> NodeId
pub fn insert_node_collapsed(&mut self, pos: Pos2, node: T) -> NodeId
Adds a node to the Treeize in collapsed state. Returns the index of the node.
§Examples
let mut treeize = Treeize::<()>::new();
treeize.insert_node_collapsed(egui::pos2(0.0, 0.0), ());Sourcepub fn remove_node(&mut self, idx: NodeId) -> T
pub fn remove_node(&mut self, idx: NodeId) -> T
Sourcepub fn clear(&mut self) -> usize
pub fn clear(&mut self) -> usize
Removes all nodes from the Treeize. Returns number of removed nodes.
§Examples
let mut treeize = Treeize::<()>::new();
treeize.clear();Sourcepub fn connect(&mut self, from: OutPinId, to: InPinId) -> bool
pub fn connect(&mut self, from: OutPinId, to: InPinId) -> bool
Connects two nodes. Returns true if the connection was successful. Returns false if the connection already exists.
§Panics
Panics if either node does not exist.
Sourcepub fn disconnect(&mut self, from: OutPinId, to: InPinId) -> bool
pub fn disconnect(&mut self, from: OutPinId, to: InPinId) -> bool
Disconnects two nodes. Returns true if the connection was removed.
§Panics
Panics if either node does not exist.
Sourcepub fn drop_inputs(&mut self, pin: InPinId) -> usize
pub fn drop_inputs(&mut self, pin: InPinId) -> usize
Removes all connections to the node’s pin.
Returns number of removed connections.
§Panics
Panics if the node does not exist.
Sourcepub fn drop_outputs(&mut self, pin: OutPinId) -> usize
pub fn drop_outputs(&mut self, pin: OutPinId) -> usize
Removes all connections from the node’s pin. Returns number of removed connections.
§Panics
Panics if the node does not exist.
Sourcepub fn get_node_mut(&mut self, idx: NodeId) -> Option<&mut T>
pub fn get_node_mut(&mut self, idx: NodeId) -> Option<&mut T>
Returns mutable reference to the node.
Sourcepub fn get_node_info(&self, idx: NodeId) -> Option<&Node<T>>
pub fn get_node_info(&self, idx: NodeId) -> Option<&Node<T>>
Returns reference to the node data.
Sourcepub fn get_node_info_mut(&mut self, idx: NodeId) -> Option<&mut Node<T>>
pub fn get_node_info_mut(&mut self, idx: NodeId) -> Option<&mut Node<T>>
Returns mutable reference to the node data.
Sourcepub fn nodes_mut(&mut self) -> NodesIterMut<'_, T> ⓘ
pub fn nodes_mut(&mut self) -> NodesIterMut<'_, T> ⓘ
Iterates over mutable references to each node.
Sourcepub fn nodes_pos(&self) -> NodesPosIter<'_, T> ⓘ
pub fn nodes_pos(&self) -> NodesPosIter<'_, T> ⓘ
Iterates over shared references to each node and its position.
Sourcepub fn nodes_pos_mut(&mut self) -> NodesPosIterMut<'_, T> ⓘ
pub fn nodes_pos_mut(&mut self) -> NodesPosIterMut<'_, T> ⓘ
Iterates over mutable references to each node and its position.
Sourcepub fn node_ids(&self) -> NodesIdsIter<'_, T> ⓘ
pub fn node_ids(&self) -> NodesIdsIter<'_, T> ⓘ
Iterates over shared references to each node and its identifier.
Sourcepub fn nodes_ids_mut(&mut self) -> NodesIdsIterMut<'_, T> ⓘ
pub fn nodes_ids_mut(&mut self) -> NodesIdsIterMut<'_, T> ⓘ
Iterates over mutable references to each node and its identifier.
Sourcepub fn nodes_pos_ids(&self) -> NodesPosIdsIter<'_, T> ⓘ
pub fn nodes_pos_ids(&self) -> NodesPosIdsIter<'_, T> ⓘ
Iterates over shared references to each node, its position and its identifier.
Sourcepub fn nodes_pos_ids_mut(&mut self) -> NodesPosIdsIterMut<'_, T> ⓘ
pub fn nodes_pos_ids_mut(&mut self) -> NodesPosIdsIterMut<'_, T> ⓘ
Iterates over mutable references to each node, its position and its identifier.
Sourcepub fn nodes_info(&self) -> NodeInfoIter<'_, T> ⓘ
pub fn nodes_info(&self) -> NodeInfoIter<'_, T> ⓘ
Iterates over shared references to each node data.
Sourcepub fn nodes_info_mut(&mut self) -> NodeInfoIterMut<'_, T> ⓘ
pub fn nodes_info_mut(&mut self) -> NodeInfoIterMut<'_, T> ⓘ
Iterates over mutable references to each node data.
Sourcepub fn nodes_ids_data(&self) -> NodeIdsDataIter<'_, T> ⓘ
pub fn nodes_ids_data(&self) -> NodeIdsDataIter<'_, T> ⓘ
Iterates over shared references to each node id and data.
Sourcepub fn nodes_ids_data_mut(&mut self) -> NodeIdsDataIterMut<'_, T> ⓘ
pub fn nodes_ids_data_mut(&mut self) -> NodeIdsDataIterMut<'_, T> ⓘ
Iterates over mutable references to each node id and data.