Stellarium  HEAD
Public Member Functions | Protected Member Functions | Protected Attributes
TuiNode Class Reference

TuiNode objects are linked together in a network of nodes to form the structure of a menu which may be navigated using the cursor keys. More...

#include <TuiNode.hpp>

Public Member Functions

 TuiNode (const QString &text, TuiNode *parent=Q_NULLPTR, TuiNode *prev=Q_NULLPTR)
 Create a TuiNode. More...
 
virtual TuiNodeResponse handleKey (int key)
 
virtual TuiNodeResponse navigation (int key)
 
virtual QString getDisplayText () const
 
virtual TuiNodegetParentNode () const
 
virtual void setParentNode (TuiNode *n)
 
virtual TuiNodegetChildNode () const
 
virtual void setChildNode (TuiNode *n)
 This also takes ownership of the child through OObject->setParent.
 
virtual TuiNodegetPrevNode () const
 
virtual void setPrevNode (TuiNode *n)
 
virtual TuiNodegetNextNode () const
 
virtual void setNextNode (TuiNode *n)
 
virtual void loopToTheLast ()
 Set prevNode to the last of the chain of nextNode-s. More...
 
int getNodeNumber () const
 
QList< int > getAncestorsNumbers () const
 

Protected Member Functions

void updateNodeNumber ()
 Updates nodeNumber, ancestorNumbers and prefixText.
 

Protected Attributes

TuiNodeparentNode
 
TuiNodechildNode
 
TuiNodeprevNode
 
TuiNodenextNode
 
QString prefixText
 Text of the prefix containing the hierarchical node number.
 
QString displayText
 
int nodeNumber
 Number of the node in the current menu. More...
 
QList< int > ancestorsNumbers
 Contains the numbers of the parent nodes in the hierarchy. More...
 

Detailed Description

TuiNode objects are linked together in a network of nodes to form the structure of a menu which may be navigated using the cursor keys.

Each node has a single line of text which will be displayed when a node is active. Depending on the sub-class for a particular node, it may be used to edit data of one sort of another.

Constructor & Destructor Documentation

◆ TuiNode()

TuiNode::TuiNode ( const QString &  text,
TuiNode parent = Q_NULLPTR,
TuiNode prev = Q_NULLPTR 
)

Create a TuiNode.

Parameters
textthe text to display for this node
parentthe node for the parent menu item
prevthe previous node in the current menu (typically shares the same parent)

Member Function Documentation

◆ loopToTheLast()

virtual void TuiNode::loopToTheLast ( )
virtual

Set prevNode to the last of the chain of nextNode-s.

Call for the first node of a menu after all others have been added.

Field Documentation

◆ ancestorsNumbers

QList<int> TuiNode::ancestorsNumbers
protected

Contains the numbers of the parent nodes in the hierarchy.

The last element is the number of the node in the current menu.

◆ nodeNumber

int TuiNode::nodeNumber
protected

Number of the node in the current menu.

Automatically set to 1 if there is no prevNode.