Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Unigine::WidgetTreeBox Class

Header:#include <UnigineWidgets.h>
Inherits:Widget

This class creates a box with a tree-like hierarchy. For example:

Source code (UnigineScript)
int init() {

Gui gui = engine.getGui();

WidgetTreeBox tree = new WidgetTreeBox(gui);

tree.addItem("1st item");  // Add items into the tree.
tree.addItem("2nd item");
tree.addItem("3rd item");
tree.addItem("4th item");

tree.addItemChild(0,1);   // Make a 2nd item a child of the 1st one.
tree.setItemFolded(0,1);  // Collapse children of the 1st child.

WidgetWindow window = new WidgetWindow(gui);  // Create a window.
gui.addChild(window,GUI_ALIGN_CENTER);

window.addChild(tree,GUI_ALIGN_CENTER); // Render a tree in the window.

return 1;
}

As a result, you will get:

WidgetTreeBox in a window

WidgetTreeBox Class

Members


static WidgetTreeBoxPtr create(const Ptr<Gui> & gui)

Constructor. Creates an empty tree box.

Arguments

  • const Ptr<Gui> & gui - GUI, to which the new tree box will belong.

Ptr<WidgetTreeBox> cast(const Ptr<Widget> & widget)

Casts a WidgetTreeBox out of the Widget instance.

Arguments

  • const Ptr<Widget> & widget - Pointer to Widget.

Return value

Pointer to WidgetTreeBox.

void setCurrentItem(int item)

Places focus on a given item (multi-selection mode).

Arguments

  • int item - Item ID.

int getCurrentItem()

Returns the item currently in focus (multi-selection mode).

Return value

Item ID.

const char * getCurrentItemData()

Returns the data of the currently focused item (multi-selection mode). The data can be used as a text identifier of the item (instead of using the number of the item).

Return value

Item data.

const char * getCurrentItemText()

Returns the text of the currently focused item (multi-selection mode).

Return value

Item text.

void setEditable(int editable)

Sets a value indicating if item hierarchy can be edited.

Arguments

  • int editable - 1 to make the hierarchy editable, 0 to make it read-only.

int isEditable()

Returns a value indicating if item hierarchy can be edited. The default is 0.

Return value

1 if the hierarchy can be edited; otherwise, 0.

void setImage(const Ptr<Image> & image)

Sets an image with mini-icons to be used with items. The image is a vertical strip of square icons.

Arguments

  • const Ptr<Image> & image - Image to set.

void getImage(const Ptr<Image> & image)

Returns the image with mini-icons.

Arguments

  • const Ptr<Image> & image - Image with mini-icons (the vertical strip of square icons).

int getItem(int num)

Returns the ID of a given item by its number. The IDs are unique, and the numbers simply point at the place in the list of all items.

Arguments

  • int num - Item ID in range from 0 to the total number of items.

Return value

Item ID.

int getItemChild(int item, int num)

Returns a child of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int num - Child number in the list of children in range from 0 to the total number.

Return value

Child item ID.

int isItemChild(int item, int child)

Checks if a given item is a child of another specified item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int child - Child item ID.

Return value

1 if child is actually a child of the item; otherwise, 0.

void setItemColor(int item, const Math::vec4 & color)

Sets a custom color for a given item.

Arguments

  • int item - Item number in range from 0 to the total number of items.
  • const Math::vec4 & color - Color to set.

Math::vec4 getItemColor(int item)

Returns a color set to a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

Color.

void setItemData(int item, const char * str)

Sets a custom data for the given item. The data can be used as a text identifier of the item (instead of using the number of the item).

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • const char * str - Data to set.

const char * getItemData(int item)

Returns the data of the given item. The data can be used as a text identifier of the item (instead of using the number of the item).

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

Item data.

void setItemFolded(int item, int folded)

Expands or collapses an hierarchy of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int folded - 1 to collapse the item hierarchy, 0 to expand it.

int isItemFolded(int item)

Returns a value indicating if a given item is collapsed.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

1 if the item is collapsed; otherwise, 0.

void setItemHidden(int item, int hidden)

Sets a value indicating if a given item is hidden.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int hidden - 1 to hide the item, 0 to show it.

int isItemHidden(int item)

Returns a value indicating if an item is hidden or not.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

1 if the item is hidden; otherwise, 0.

void setItemParent(int item, int parent)

Sets a parent for a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int parent - Parent item ID. -1 removes the current parent.

int getItemParent(int item)

Returns the parent of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

Parent item ID.

void getItems(Vector< int > & items)

Returns all items in the tree box.

Arguments

  • Vector< int > & items - An array with item IDs.

void setItemSelectable(int item, int selectable)

Sets a value indicating if a given item can be selected.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int selectable - 1 to set the item as selectable, 0 to set it as unselectable.

int isItemSelectable(int item)

Returns a value indicating if a given item can be selected.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

1 if the item is selectable; otherwise, 0.

void setItemSelected(int item, int selected)

Selects or deselects a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int selected - 1 to select the item, 0 to deselect it.

int isItemSelected(int item)

Returns a value indicating if a given item is selected.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

1 if the item is selected; otherwise, 0.

void setItemText(int item, const char * str)

Sets a text for a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • const char * str - Item text.

const char * getItemText(int item)

Returns the text of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

Item text.

void setItemTexture(int item, int texture)

Sets an icon for a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int texture - Zero-based ID of the icon (i.e. number of the icon in the icon texture).

int getItemTexture(int item)

Returns the icon of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

Zero-based ID of the icon (i.e. number of the icon in the icon texture).

void setMultiSelection(int selection)

Enables or disables multiple selection of items.

Arguments

  • int selection - 1 to enable multiple selection, 0 to disable it.

int isMultiSelection()

Returns a value indicating if multiple selection of items is enabled. The default is 0.

Return value

1 if several items can be selected at once; otherwise, 0.

int getNumItemChildren(int item)

Returns the number of child items of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

Return value

Number of child items.

int getNumItems()

Returns the number of visible items in the tree box. Items that are currently collapsed to a parent level are not returned.

Return value

Number of items.

int getNumSelectedItems()

Returns number of selected items in the box (multi-selection mode).

Return value

Number of selected items.

int getSelectedItem(int num)

Returns ID of a selected item (multi-selection mode).

Arguments

  • int num - Number of an item in the list of selected items.

Return value

ID of the selected item.

void setTexture(const char * texture)

Sets a texture with mini-icons to be used with items. The texture is a vertical strip of square icons.

Arguments

  • const char * texture - Path to a texture file.

const char * getTexture()

Returns file name of the image with mini-icons. The texture is a vertical strip of square icons.

Return value

Path to the texture file.

int addItem(const char * str, int texture = -1)

Adds a new item with a given text and and an icon.

Arguments

  • const char * str - Item text.
  • int texture - Zero-based ID of the icon (i.e. number of the icon in the icon texture). -1 means that an item has no icon.

Return value

ID of the added item.

void addItemChild(int item, int child)

Adds a child to a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int child - Child item ID.

void clear()

Removes all items from the tree box.

void clearSelection()

Clears list of selected items.

void removeItem(int item)

Removes a given item from the tree box. Children items will be kept.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

void removeItemChild(int item, int child)

Removes a child of a given item.

Arguments

  • int item - Item ID in range from 0 to the total number of items.
  • int child - Child item ID.

void showItem(int item)

Scrolls a tree box so that a given item is visible.

Arguments

  • int item - Item ID in range from 0 to the total number of items.

int type()

WidgetTreeBox type.

Return value

WidgetTreeBox type identifier.
Last update: 2017-10-20