libyui-ncurses  2.55.0
NCItemSelectorBase Class Referenceabstract
Inheritance diagram for NCItemSelectorBase:
Collaboration diagram for NCItemSelectorBase:

Public Member Functions

virtual ~NCItemSelectorBase ()
 Destructor.
 
virtual NCursesEvent wHandleInput (wint_t key)
 Handle keyboard input.
 
virtual int preferredWidth ()
 Return the preferred width for this widget. More...
 
virtual int preferredHeight ()
 Return the preferred height for this widget. More...
 
virtual void setSize (int newWidth, int newHeight)
 Set the size of this widget. More...
 
virtual YItem * currentItem () const
 Return the current item, i.e. More...
 
virtual void setCurrentItem (YItem *item)
 Set the current item, i.e. More...
 
virtual void setEnabled (bool do_bv)
 Enable or disable this widget. More...
 
virtual bool setKeyboardFocus ()
 Set the keyboard focus to this widget. More...
 
virtual void setVisibleItems (int newVal)
 Set the number of visible items for this widget. More...
 
int linesCount () const
 Return the number of lines in this widget. More...
 
int currentLine () const
 Return number of the current line, i.e. More...
 
virtual void addItem (YItem *item)
 Add an item to this widget. More...
 
virtual void deleteAllItems ()
 Delete all items. More...
 
virtual void selectItem (YItem *item, bool selected)
 Select or deselect an item. More...
 
virtual void deselectAllItems ()
 Deselect all items.
 
const NCTableLinegetLine (int lineNo)
 Return the text line with the specified line number. More...
 
virtual void startMultipleChanges ()
 
virtual void doneMultipleChanges ()
 
virtual const char * location () const
 
virtual void activateItem (YItem *item)
 Activate selected item. More...
 
- 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 * >
 tnode (NCWidget * v, self *p=0, bool behind=true)
 
 tnode (NCWidget * v, self &p, bool behind=true)
 
 tnode (NCWidget * v, self &p, self &s, bool behind=true)
 
void Disconnect ()
 
bool ReparentTo (self &p, bool behind=true)
 
bool ReparentTo (self &p, self &s, bool behind=true)
 
NCWidget * & Value () const
 
NCWidget * & operator() () const
 
selfParent ()
 
const selfParent () const
 
selfPsibling ()
 
const selfPsibling () const
 
selfNsibling ()
 
const selfNsibling () const
 
selfFchild ()
 
const selfFchild () const
 
selfLchild ()
 
const selfLchild () const
 
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
 
bool IsDescendantOf (const self &n) const
 
bool IsDescendantOf (const self *n) const
 
selfTop ()
 
const selfTop () const
 
selfNext (bool restart=false)
 
selfNext (self *&c, bool restart=false)
 
const selfNext (bool restart=false) const
 
const selfNext (const self *&c, bool restart=false) const
 
selfPrev (bool restart=false)
 
selfPrev (self *&c, bool restart=false)
 
const selfPrev (bool restart=false) const
 
const selfPrev (const self *&c, bool restart=false) const
 

Protected Member Functions

 NCItemSelectorBase (YWidget *parent, bool enforceSingleSelection)
 Standard constructor.
 
 NCItemSelectorBase (YWidget *parent, const YItemCustomStatusVector &customStates)
 Constructor for custom item status values.
 
virtual NCTableTagcreateTagCell (YItem *item)=0
 Create a tag cell for an item. More...
 
virtual void cycleCurrentItemStatus ()=0
 Cycle the status of the current item through its possible values. More...
 
virtual bool statusChangeAllowed (int fromStatus, int toStatus)
 Return 'true' if a status change (by user interaction) from status 'fromStatus' to status 'toStatus' is allowed, 'false' if not.
 
virtual NCursesEvent valueChangedNotify (YItem *item)=0
 Notification that a status value was just changed in the input handler and the 'notify' flag is set. More...
 
std::string description (YItem *item) const
 Return the desription text for an item. More...
 
std::vector< std::string > descriptionLines (YItem *item) const
 Return the description text for an item as multiple lines.
 
YItem * scrollDownToNextItem ()
 If the cursor is not on the first line of an item (the line with the "[x]" selector), scroll down to the next line that is the first line of an item.
 
YItem * scrollUpToPreviousItem ()
 If the cursor is not on the first line of an item (the line with the "[x]" selector), scroll up to the next line that is the first line of an item. More...
 
virtual wsze preferredSize ()
 Return the preferred size for this widget.
 
virtual NCTableTagtagCell (int index) const
 Return the tag cell (the cell with the "[x]" or "(x)" selector) for the item with the specified index.
 
int findItemLine (YItem *item) const
 Return the line number that contains the first line of 'item' or -1 if not found.
 
virtual NCPadCreatePad ()
 Create the pad for this widget.
 
virtual NCTablePadmyPad () const
 Return the pad for this widget; overloaded to narrow the type.
 
virtual void wRecoded ()
 
- 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 ()
 
wsze defPadSze () const
 
virtual void DrawPad ()
 
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",...)
 

Protected Attributes

wsze _prefSize
 
bool _prefSizeDirty
 
int _selectorWidth
 
- Protected Attributes inherited from NCPadWidget
bool hasHeadline
 
bool activeLabelOnly
 
- Protected Attributes inherited from NCWidget
NCWidget *const grabedBy
 
NCursesWindowwin
 
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
 

Friends

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

Additional Inherited Members

- Protected Types inherited from tnode< NCWidget * >
typedef tnode< NCWidget * > self
 

Detailed Description

Definition at line 37 of file NCItemSelector.h.

Member Function Documentation

◆ activateItem()

void NCItemSelectorBase::activateItem ( YItem *  item)
virtual

Activate selected item.

Can be used in tests to simulate user input.

Derived classes are required to implement this.

Definition at line 512 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ addItem()

void NCItemSelectorBase::addItem ( YItem *  item)
virtual

Add an item to this widget.

Reimplemented from YSelectionWidget.

Definition at line 188 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ createTagCell()

virtual NCTableTag* NCItemSelectorBase::createTagCell ( YItem *  item)
protectedpure virtual

Create a tag cell for an item.

This is the cell with the "[x]" or "(x)" selector. It also stores the item pointer so the item can later be referenced by this tag.

Derived classes are required to implement this.

Implemented in NCItemSelector, and NCCustomStatusItemSelector.

◆ currentItem()

YItem * NCItemSelectorBase::currentItem ( ) const
virtual

Return the current item, i.e.

the item that currently has the keyboard focus. Not to be confused with the selected item.

Definition at line 168 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ currentLine()

int NCItemSelectorBase::currentLine ( ) const
inline

Return number of the current line, i.e.

the line that has the keyboard focus.

Definition at line 126 of file NCItemSelector.h.

Here is the call graph for this function:

◆ cycleCurrentItemStatus()

virtual void NCItemSelectorBase::cycleCurrentItemStatus ( )
protectedpure virtual

Cycle the status of the current item through its possible values.

For a plain ItemSelector, this means true -> false -> true.

Derived classes are required to implement this.

Implemented in NCItemSelector, and NCCustomStatusItemSelector.

◆ deleteAllItems()

void NCItemSelectorBase::deleteAllItems ( )
virtual

Delete all items.

Reimplemented from YSelectionWidget.

Definition at line 297 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ description()

string NCItemSelectorBase::description ( YItem *  item) const
protected

Return the desription text for an item.

The result may contain newlines.

Definition at line 266 of file NCItemSelector.cc.

◆ getLine()

const NCTableLine* NCItemSelectorBase::getLine ( int  lineNo)
inline

Return the text line with the specified line number.

Notice that this is different from the item index (see getNumLines()).

Definition at line 155 of file NCItemSelector.h.

Here is the call graph for this function:

◆ linesCount()

int NCItemSelectorBase::linesCount ( ) const
inline

Return the number of lines in this widget.

This is different from the number of items because each item always has one line for the item label, optionally multiple lines for the description, and optionally a separator line between it and the next item.

Definition at line 120 of file NCItemSelector.h.

Here is the call graph for this function:

◆ preferredHeight()

int NCItemSelectorBase::preferredHeight ( )
virtual

Return the preferred height for this widget.

Reimplemented from YWidget.

Definition at line 98 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ preferredWidth()

int NCItemSelectorBase::preferredWidth ( )
virtual

Return the preferred width for this widget.

Reimplemented from YWidget.

Definition at line 92 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ scrollUpToPreviousItem()

YItem * NCItemSelectorBase::scrollUpToPreviousItem ( )
protected

If the cursor is not on the first line of an item (the line with the "[x]" selector), scroll up to the next line that is the first line of an item.

NOTREACHED

Definition at line 361 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ selectItem()

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

Select or deselect an item.

Reimplemented from YSelectionWidget.

Definition at line 305 of file NCItemSelector.cc.

◆ setCurrentItem()

void NCItemSelectorBase::setCurrentItem ( YItem *  item)
virtual

Set the current item, i.e.

the item that currently has the keyboard focus.

Definition at line 179 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ setEnabled()

void NCItemSelectorBase::setEnabled ( bool  do_bv)
virtual

Enable or disable this widget.

Reimplemented from YWidget.

Reimplemented from NCPadWidget.

Definition at line 154 of file NCItemSelector.cc.

Here is the call graph for this function:

◆ setKeyboardFocus()

bool NCItemSelectorBase::setKeyboardFocus ( )
virtual

Set the keyboard focus to this widget.

Reimplemented from YWidget.

Definition at line 145 of file NCItemSelector.cc.

◆ setSize()

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

Set the size of this widget.

Reimplemented from YWidget.

Definition at line 139 of file NCItemSelector.cc.

◆ setVisibleItems()

void NCItemSelectorBase::setVisibleItems ( int  newVal)
virtual

Set the number of visible items for this widget.

Reimplemented from YItemSelector.

Definition at line 161 of file NCItemSelector.cc.

◆ valueChangedNotify()

virtual NCursesEvent NCItemSelectorBase::valueChangedNotify ( YItem *  item)
protectedpure virtual

Notification that a status value was just changed in the input handler and the 'notify' flag is set.

The returned event is used as the return value of the input handler (unless it has event type 'none' which is also returned by the default constructor of NCursesEvent), i.e. it is sent to the application.

Derived classes are required to implement this.

Implemented in NCItemSelector, and NCCustomStatusItemSelector.


The documentation for this class was generated from the following files: