| 
    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>
 Inheritance diagram for Neo2D::Gui::TreeView: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 |