libyui-ncurses
Loading...
Searching...
No Matches
NCTree Class Reference

#include <NCTree.h>

Inheritance diagram for NCTree:
Collaboration diagram for NCTree:

Public Member Functions

 NCTree (YWidget *parent, const std::string &label, bool multiselection=false, bool recursiveselection=false)
virtual void rebuildTree ()
virtual YTreeItem * getCurrentItem () const
virtual YTreeItem * currentItem ()
virtual void deselectAllItems ()
virtual void selectItem (YItem *item, bool selected)
virtual void selectItem (int index)
virtual void deleteAllItems ()
virtual int preferredWidth ()
virtual int preferredHeight ()
virtual void setSize (int newWidth, int newHeight)
virtual void setLabel (const std::string &nlabel)
virtual void setEnabled (bool do_bv)
virtual bool setKeyboardFocus ()
virtual void activate ()
virtual NCursesEvent wHandleInput (wint_t key)
Public Member Functions inherited from NCPadWidget
 NCPadWidget (NCWidget *myparent=0)
 NCPadWidget (YWidget *parent)
size_t Columns ()
void setLabel (const NClabel &nlabel)
Public Member Functions inherited from NCWidget
void grabSet (NCWidget *ngrab)
void grabRelease (NCWidget *ograb)
 NCWidget (NCWidget *myparent)
 NCWidget (YWidget *parent=0)
bool isValid () const
bool winExist () const
virtual const NCstyle::StylewStyle () const
const NCstyle::StWidgetwidgetStyle (bool nonactive=false) const
const NCstyle::StWidgetframeStyle () const
const NCstyle::StListlistStyle () const
wsze wGetDefsze () const
wrect wGetSize () const
void Update ()
void Redraw (bool sub=false)
void Recoded ()
NC::WState GetState () const
void SetState (const NC::WState newstate, bool force=false)
virtual bool HasHotkey (int key)
virtual bool HasFunctionHotkey (int key) const
virtual NCursesEvent wHandleHotkey (wint_t key)
void DumpOn (std::ostream &str, std::string prfx) const
Public Member Functions inherited from tnode< NCWidget * >
void Disconnect ()
 Disconnect from the parent and siblings, but keep children.
bool ReparentTo (self &p, bool behind=true)
NCWidget *& Value () const
NCWidget *& operator() () const
 Alias for Value.
self * Parent ()
self * Psibling ()
 Previous sibling.
self * Nsibling ()
 Next sibling.
self * Fchild ()
 First child.
self * Lchild ()
 Last child.
bool HasParent () const
bool HasSiblings () const
bool HasChildren () const
bool IsParentOf (const self &c) const
bool IsSiblingOf (const self &s) const
bool IsChildOf (const self &p) const
unsigned Depth () const
 Depth: zero if no parent, otherwise 1 + parent's depth.
bool IsDescendantOf (const self &n) const
self & Top ()
 Root of the tree.
self * Next (bool restart=false)
self * Prev (bool restart=false)

Protected Member Functions

virtual const char * location () const
virtual NCPadCreatePad ()
virtual NCTreePadmyPad () const
virtual void DrawPad ()
const NCTreeLinegetTreeLine (unsigned idx) const
NCTreeLinemodifyTreeLine (unsigned idx)
virtual void startMultipleChanges ()
virtual void doneMultipleChanges ()
void CreateTreeLines (NCTreeLine *parentLine, NCTreePad *pad, YItem *item)
Protected Member Functions inherited from NCPadWidget
void startMultidraw ()
void stopMultidraw ()
bool inMultidraw () const
unsigned labelWidth () const
virtual void wCreate (const wrect &newrect)
virtual void wDelete ()
virtual void wRedraw ()
virtual void wRecoded ()
wsze defPadSze () const
void InitPad ()
void AdjustPad (wsze nsze)
void DelPad ()
virtual void HScroll (unsigned total, unsigned visible, unsigned start)
virtual void VScroll (unsigned total, unsigned visible, unsigned start)
virtual void ScrollHead (NCursesWindow &w, unsigned ccol)
virtual void AdjustPadSize (wsze &minsze)
virtual bool handleInput (wint_t key)
Protected Member Functions inherited from NCWidget
virtual void PreDisconnect ()
virtual void PostDisconnect ()
virtual void PreReparent ()
virtual void PostReparent ()
NCursesWindowParentWin ()
bool grabFocus ()
virtual void grabNotify (NCWidget *)
virtual bool wantFocus (NCWidget &ngrab)
void wMoveChildTo (NCWidget &child, const wpos &newpos)
void wRelocate (const wrect &newrect)
void wRelocate (const wpos &newpos, const wsze &newsze)
virtual void wMoveTo (const wpos &newpos)
virtual void wUpdate (bool forced_br=false)
wpos ScreenPos () const
Protected Member Functions inherited from NCursesError
 NCursesError (const char *msg="unknown error",...)
 NCursesError (int val, const char *msg="unknown error",...)
NCursesErrorNCError (const char *msg="unknown error",...)
NCursesErrorNCError (int val, const char *msg="unknown error",...)

Friends

std::ostream & operator<< (std::ostream &str, const NCTree &obj)

Additional Inherited Members

Protected Types inherited from tnode< NCWidget * >
typedef tnode< NCWidget * > self
Protected Attributes inherited from NCPadWidget
bool hasHeadline
bool activeLabelOnly
Protected Attributes inherited from NCWidget
NCWidget *const grabedBy
NCursesWindowwin
 (owned)
wsze defsze
wrect framedim
wrect inparent
bool noUpdates
bool skipNoDimWin
NC::WState wstate
NClabelhotlabel
Protected Attributes inherited from tnode< NCWidget * >
NCWidgetval
Protected Attributes inherited from NCursesError
int errval_i
std::string errmsg_t

Detailed Description

A tree selection widget with one-column tree items and optionally multy selection.

See also https://github.com/libyui/libyui-ncurses/blob/master/doc/nctable-and-nctree.md

Member Function Documentation

◆ activate()

void NCTree::activate ( )
virtual

Activate the item selected in the tree. This can be used in tests to simulate user input.

Implemented from YSelectionWidget.

◆ CreatePad()

NCPad * NCTree::CreatePad ( )
protectedvirtual

Create an empty pad.

Reimplemented from NCPadWidget.

◆ CreateTreeLines()

void NCTree::CreateTreeLines ( NCTreeLine * parentLine,
NCTreePad * pad,
YItem * item )
protected

Create TreeLines and append them to the TreePad. If 'item' has any children, this is called recursively for them.

◆ currentItem()

YTreeItem * NCTree::currentItem ( )
virtual

Get the current item. This is an alias for getCurrentItem.

Implemented from YSelectionWidget.

◆ deleteAllItems()

void NCTree::deleteAllItems ( )
virtual

Delete all items and clear the TreePad.

Implemented from YSelectionWidget.

◆ doneMultipleChanges()

virtual void NCTree::doneMultipleChanges ( )
inlineprotectedvirtual

Optimization for NCurses from libyui: Notification that multiple changes are now finished.

Implemented from YWidget.

◆ DrawPad()

void NCTree::DrawPad ( )
protectedvirtual

Fill the TreePad with lines (using CreateTreeLines to create them)

Reimplemented from NCPadWidget.

◆ getCurrentItem()

YTreeItem * NCTree::getCurrentItem ( ) const
virtual

Return a pointer to the current item (the item under the cursor).

◆ getTreeLine()

const NCTreeLine * NCTree::getTreeLine ( unsigned idx) const
inlineprotected

Return a const pointer to the tree line at the specified index for read-only operations.

◆ location()

virtual const char * NCTree::location ( ) const
inlineprotectedvirtual

Code location for logging.

Implemented from NCWidget.

Reimplemented from NCPadWidget.

◆ modifyTreeLine()

NCTreeLine * NCTree::modifyTreeLine ( unsigned idx)
inlineprotected

Return a non-const pointer to the tree line at the specified index for read-write operations. This also marks that line as "dirty", i.e. it needs to be updated on the screen.

◆ myPad()

virtual NCTreePad * NCTree::myPad ( ) const
inlineprotectedvirtual

Return the TreePad that belongs to this widget.

Overloaded from NCPadWidget to narrow the type to the actual one used in this widget.

Reimplemented from NCPadWidget.

◆ preferredHeight()

int NCTree::preferredHeight ( )
virtual

libyui geometry management: Return the preferred height for this widget.

Implemented from YWidget.

◆ preferredWidth()

int NCTree::preferredWidth ( )
virtual

libyui geometry management: Return the preferred width for this widget.

Implemented from YWidget.

◆ rebuildTree()

void NCTree::rebuildTree ( )
virtual

Recursively build the tree in this widget according to the items.

Implemented from YTree.

◆ selectItem() [1/2]

void NCTree::selectItem ( int index)
virtual

Select the item with the specified index.

◆ selectItem() [2/2]

void NCTree::selectItem ( YItem * item,
bool selected )
virtual

Select or deselect an item.

Implemented from YSelectionWidget.

◆ setEnabled()

void NCTree::setEnabled ( bool do_bv)
virtual

Enable or disable this widget.

Implemented from YWidget.

Reimplemented from NCPadWidget.

◆ setKeyboardFocus()

virtual bool NCTree::setKeyboardFocus ( )
inlinevirtual

Set the keyboard focus to this widget.

Implemented from YWidget.

◆ setLabel()

void NCTree::setLabel ( const std::string & nlabel)
virtual

Set the label (the caption) above the tree.

Implemented from YTree.

◆ setSize()

void NCTree::setSize ( int newWidth,
int newHeight )
virtual

libyui geometry management: Apply the width and height assigned from the parent layout widget.

Implemented from YWidget.

◆ startMultipleChanges()

virtual void NCTree::startMultipleChanges ( )
inlineprotectedvirtual

Optimization for NCurses from libyui: Notification that multiple changes are about to come.

Implemented from YWidget.

◆ wHandleInput()

NCursesEvent NCTree::wHandleInput ( wint_t key)
virtual

Keyboard input handler.

Implemented from NCWidget.

Reimplemented from NCWidget.


The documentation for this class was generated from the following files:
  • /builddir/build/BUILD/libyui-4.6.2-build/libyui-4.6.2/libyui-ncurses/src/NCTree.h
  • /builddir/build/BUILD/libyui-4.6.2-build/libyui-4.6.2/libyui-ncurses/src/NCTree.cc