Unigine::WidgetTreeBox Class
Header: | #include <UnigineWidgets.h> |
Inherits: | Widget |
This class creates a box with a tree-like hierarchy. For example:
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: 2018-08-10
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)