Neo
0.5.0
Developer Documentation
|
Implements a tree view which displays a multi-way tree of strings while providing callbacks for the selection of an entry. More...
#include <Tree.h>
Public Member Functions | |
TreeView (unsigned int x, unsigned int y, unsigned int width, unsigned int height, const char *label) | |
~TreeView () | |
bool | getAutoSize () |
Checks if the tree widget is configured to resize itself according to its content. More... | |
void | setAutoSize (bool b) |
Configures the tree widget to resize itself according to its content. More... | |
void | show () |
Shows the tree. More... | |
void | clear (TreeNode< std::string > *root) |
Clears the tree from the given node downwards. More... | |
void | clear () |
Clears everything starting at the root node. More... | |
TreeNode< std::string > * | getTreeModel () |
Returns the root node of this tree. More... | |
const char * | getSelected () |
Returns the currently selected node or nullptr if none is selected. More... | |
void | selectEntry (const char *name) |
void | selectEntry (TreeNode< std::string > *node) |
TreeNode< std::string > * | find (const char *name) |
void | draw (Vector2 offset) |
Draws the widget to the canvas it belongs to. More... | |
void | update () |
Updates the widget and calls the callback if necessary. More... | |
void | setSize (Vector2 sz) |
Public Member Functions inherited from Neo2D::Widget | |
Widget (unsigned int x, unsigned int y, unsigned int width, unsigned int height, const char *label) | |
Widget () | |
void | setParent (Widget *w) |
Widget * | getParent () |
float | getFontSize () |
void | setFontSize (float s) |
void | setOffset (Vector2 offset) |
Vector2 | getOffset () |
void | setSize (unsigned int w, unsigned int h) |
Vector2 | getSize () |
virtual void | draw () |
Draws the widget to the canvas it belongs to. More... | |
void | setCallback (NEO_CALLBACK_FUNCTION func) |
Sets the callback. More... | |
void | setScriptCallback (const char *name) |
void | setCallback (NEO_CALLBACK_FUNCTION func, long int data) |
Sets the callback and appends user data to it. More... | |
long int | getUserData () |
Retrieves the user data that will be given to every callback call. More... | |
void | setUserData (long int data) |
Changes the user data that will be given to every callback call. More... | |
const char * | getLabel () |
Gets the currently displayed label a C string. More... | |
void | setLabel (const char *l) |
Changes the current label of the widget. More... | |
void | setPosition (Vector2 pos) |
Changes the widget position. More... | |
Vector2 | getPosition () |
Retrieves the current position. More... | |
void | setRotation (float rot) |
Changes the widget rotation. More... | |
float | getRotation () |
Retrieves the current rotation. More... | |
void | translate (Vector2 vec) |
Translates the object. More... | |
void | rotate (float value) |
Rotates the object. More... | |
void | doCallback () |
Calls the callback with the user data as an argument. More... | |
bool | isVisible () |
Returns if the widget is turned visible. More... | |
void | setVisible (bool v) |
Sets the visibility status. More... | |
void | setScale (Vector2 scale) |
setScale Scale this Widget More... | |
Vector2 | getScale () |
void | setFlip (Vector2 flip) |
setFlip Flip this Widget More... | |
Vector2 | getFlip () |
const char * | getStaticName () |
virtual bool | isMouseOver () |
Protected Member Functions | |
void | updateTree (TreeNode< std::string > *root, Vector2 *level) |
Walks down the tree and updates every node of it for detecting clicks on the small "+" signs and the entry itself. More... | |
void | drawTree (TreeNode< std::string > *root, Vector2 *level) |
Walks down the tree and draws every node of it. More... | |
TreeNode< std::string > * | find (const char *name, TreeNode< std::string > *root) |
Protected Attributes | |
bool | m_autoSize |
TreeNode< std::string > | m_root |
TreeNode< std::string > * | m_selected |
Label * | m_label |
Protected Attributes inherited from Neo2D::Widget | |
float | m_x |
The 2D coordinates of the widget. More... | |
float | m_y |
float | m_rotation |
The rotation of the widget. More... | |
unsigned int | m_width |
The width and height of the widget. More... | |
unsigned int | m_height |
std::string | m_label |
The label of the widget. More... | |
Vector2 | m_offset |
The offset that was used for rendering in the last frame. More... | |
NEO_CALLBACK_FUNCTION | m_callback |
The callback that should be called. More... | |
String | m_callbackScript |
long int | m_userData |
Some userdata that is given to the callback. More... | |
bool | m_visible |
Is the widget visible? More... | |
Vector2 | m_scale |
The scale vector. More... | |
Vector2 | m_flip |
The flip vector. More... | |
float | m_fontSize |
Widget * | m_parent |
Friends | |
class | TreeNode< std::string > |
Implements a tree view which displays a multi-way tree of strings while providing callbacks for the selection of an entry.
|
inline |
|
inline |
void Neo2D::Gui::TreeView::clear | ( | TreeNode< std::string > * | root | ) |
Clears the tree from the given node downwards.
Attention: Deletes all nodes so they can't be used anymore!
Invariant: The lower part of the tree is cleared after one call. Variant: The given root node walks down one level for every recursion therefore the algorithm terminates.
The | root node to start at. |
|
inline |
Clears everything starting at the root node.
|
virtual |
Draws the widget to the canvas it belongs to.
offset | The offset to apply to the position. Used for emulating a camera. |
Reimplemented from Neo2D::Widget.
Walks down the tree and draws every node of it.
Invariant: The lower part of the tree is drawn after one call to the method. Variant: The root node progresses further down the tree by one level and thus leads the algorithm to eventually terminate.
root | The node to start at. |
level | The pointer to a Vector2 instance for calculating the (x|y) level of the currently handled node. |
|
protected |
TreeNode<std::string>* Neo2D::Gui::TreeView::find | ( | const char * | name | ) |
|
inline |
Checks if the tree widget is configured to resize itself according to its content.
|
inline |
Returns the currently selected node or nullptr if none is selected.
|
inline |
Returns the root node of this tree.
void Neo2D::Gui::TreeView::selectEntry | ( | const char * | name | ) |
|
inline |
|
inline |
Configures the tree widget to resize itself according to its content.
b | The boolean value. |
|
inline |
|
inline |
Shows the tree.
|
virtual |
Updates the widget and calls the callback if necessary.
Implements Neo2D::Widget.
Walks down the tree and updates every node of it for detecting clicks on the small "+" signs and the entry itself.
Invariant: The lower part of the tree is updated after one call to the method. Variant: The root node progresses further down the tree by one level and thus leads the algorithm to eventually terminate.
root | The node to start at. |
level | The pointer to a Vector2 instance for calculating the (x|y) level of the currently handled node. |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |