Stellarium  26.3
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 TuiNode * getParentNode () const
 
virtual void setParentNode (TuiNode *n)
 
virtual TuiNode * getChildNode () const
 
virtual void setChildNode (TuiNode *n)
 This also takes ownership of the child through OObject->setParent.
 
virtual TuiNode * getPrevNode () const
 
virtual void setPrevNode (TuiNode *n)
 
virtual TuiNode * getNextNode () 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

TuiNode * parentNode
 
TuiNode * childNode
 
TuiNode * prevNode
 
TuiNode * nextNode
 
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.