NcTree

Type Alias NcTree 

Source
pub type NcTree = nctree;
Expand description

High-level hierarchical line-based data.

NcTrees organize static hierarchical items, and allow them to be browsed.

An NcTree cannot be empty, count must be non-zero.

  • Each item can have arbitrary subitems.
  • Items can be collapsed and expanded.
  • The display supports scrolling and searching.
  • Items cannot be added or removed, however; they must be provided in their entirety at creation time.

NOTE: NcTree shares many properties with NcReel. Unlike the latter, NcTrees support arbitrary hierarchical levels, but they do not allow elements to come and go across the lifetime of the widget.

type in C: nctree (struct)

Aliased Type§

pub struct NcTree { /* private fields */ }

Implementations§

Source§

impl NcTree

§NcTree constructors & destructors

Source

pub fn new<'a>( plane: &mut NcPlane, options: NcTreeOptions, ) -> NcResult<&'a mut Self>

Creates an NcTree with the specified options.

C style function: nctree_create().

Source

pub fn destroy(&mut self)

Destroys an NcTree created with new().

C style function: nctree_destroy().

Source§

impl NcTree

§NcTree methods

Source

pub fn add(&mut self, spec: &u32, item: &NcTreeItem) -> NcResult<()>

Inserts item at spec.

The path up to the last element must already exist. If an item already exists at the path, it will be moved to make room for item.

C style function: nctree_add().

Source

pub fn del(&mut self, spec: &u32) -> NcResult<()>

Deletes the item at spec, including any subitems.

C style function: nctree_del().

Source

pub fn focused(&mut self) -> NcResult<&mut NcTreeItem>

Returns the focused item, if any items are present.

This is not a copy; be careful to use it only for the duration of a critical section.

C style function: nctree_focused().

Source

pub fn next(&mut self) -> NcResult<&mut NcTreeItem>

Changes the focus to the next item, and returns it.

C style function: nctree_next().

Source

pub fn prev(&mut self) -> NcResult<&mut NcTreeItem>

Changes the focus to the previous item, and returns it.

C style function: nctree_prev().

Source

pub fn offer_input(&mut self, input: NcInput) -> bool

Offers the input to this NcTree.

If it’s relevant, this function returns true, and the input ought not be processed further. If it’s irrelevant to the tree, false is returned.

Relevant inputs include:

  • a mouse click on an item (focuses item)
  • a mouse scrollwheel event (srolls tree)
  • up, down, pgup, or pgdown (navigates among items)

C style function: nctree_offer_input().

Source

pub fn plane(&mut self) -> NcResult<&NcPlane>

Returns the NcPlane backing this NcTree.

C style function: nctree_plane().

Source

pub fn redraw(&mut self) -> NcResult<()>

Redraws the NcTree in its entirety.

The tree will be cleared, and items will be laid out, using the focused item as a fulcrum.

Item-drawing callbacks will be invoked for each visible item.

C style function: nctree_redraw().