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

#include <NCTablePad.h>

Inheritance diagram for NCTablePad:
Collaboration diagram for NCTablePad:

Public Member Functions

 NCTablePad (int lines, int cols, const NCWidget &p)
 
virtual bool handleInput (wint_t key)
 
bool setItemByKey (int key)
 
void AssertMinCols (unsigned num)
 
void SetSepChar (const chtype colSepchar)
 
void SetSepWidth (const unsigned sepwidth)
 
unsigned HotCol () const
 
void SetHotCol (int hcol)
 
int findIndexById (int id) const
 
void stripHotkeys ()
 
- Public Member Functions inherited from NCTablePadBase
void ClearTable ()
 
virtual void wRecoded ()
 
virtual wpos CurPos () const
 CurPos().L is the index of the selected item.
 
wsze tableSize ()
 
unsigned visibleLines () const
 
bool SetHeadline (const std::vector< NCstring > &head)
 
virtual void SendHead ()
 
void SetSepChar (const chtype colSepchar)
 
void SetSepWidth (const unsigned sepwidth)
 
void SetHotCol (int hcol)
 
unsigned Cols () const
 
unsigned Lines () const
 
bool empty () const
 
unsigned HotCol () const
 
void SetLines (unsigned count)
 
void SetLines (std::vector< NCTableLine * > &newItems)
 
void AddLine (unsigned idx, NCTableLine *item)
 
void Append (NCTableLine *item)
 
void Append (std::vector< NCTableCol * > &cells, int index)
 
const NCTableLineGetLine (unsigned idx) const
 
NCTableLineModifyLine (unsigned idx)
 
int findIndex (unsigned idx) const
 
NCTableLineGetCurrentLine () const
 
- Public Member Functions inherited from NCPad
 NCPad (int lines, int cols, const NCWidget &p)
 
NCursesWindowDestwin ()
 
virtual void Destwin (NCursesWindow *dwin)
 
virtual void resize (wsze nsze)
 
virtual int resize (int lines, int columns)
 
virtual void setDirty ()
 
int update ()
 
virtual int setpos ()
 
int ScrlTo (const wpos &newpos)
 
int ScrlLine (int line)
 Scroll to a line, keeping the column.
 
int ScrlCol (int col)
 Scroll to a column, keeping the line.
 
int ScrlDown (int lines=1)
 
int ScrlUp (int lines=1)
 
int ScrlRight (int cols=1)
 
int ScrlLeft (int cols=1)
 
int ScrlToLastLine ()
 
- Public Member Functions inherited from NCursesPad
 NCursesPad (int lines, int cols)
 
int echochar (const chtype ch)
 
int refresh ()
 
int noutrefresh ()
 
int refresh (int pminrow, int pmincol, int sminrow, int smincol, int smaxrow, int smaxcol)
 
int noutrefresh (int pminrow, int pmincol, int sminrow, int smincol, int smaxrow, int smaxcol)
 
- Public Member Functions inherited from NCursesWindow
 NCursesWindow (WINDOW *window)
 
 NCursesWindow (int lines, int cols, int begin_y, int begin_x)
 
 NCursesWindow (NCursesWindow &parent, int lines, int cols, int begin_y, int begin_x, char absrel='a')
 
virtual ~NCursesWindow ()
 
NCursesWindow Clone ()
 
int colors () const
 
int height () const
 
int width () const
 
int begx () const
 
int begy () const
 
int maxx () const
 
int maxy () const
 
wsze size () const
 
wpos begpos () const
 
wpos maxpos () const
 
wrect area () const
 
short getcolor () const
 
short foreground () const
 
short background () const
 
int setpalette (short fore, short back)
 
int setcolor (short pair)
 
virtual int mvwin (int begin_y, int begin_x)
 
int mvsubwin (NCursesWindow *sub, int begin_y, int begin_x)
 
int move (int y, int x)
 
void getyx (int &y, int &x) const
 
int mvcur (int oldrow, int oldcol, int newrow, int newcol) const
 
int nodelay (bool bf)
 
int getch ()
 
int getch (int y, int x)
 
int getstr (char *str, int n=-1)
 
int getstr (int y, int x, char *str, int n=-1)
 
int instr (char *s, int n=-1)
 
int instr (int y, int x, char *s, int n=-1)
 
int addch (const char ch)
 
int addch (const chtype ch)
 
int add_attr_char (int y, int x)
 
int add_attr_char ()
 
int add_wch (const cchar_t *cch)
 
int add_wch (int y, int x, const cchar_t *cch)
 
int addch (int y, int x, const char ch)
 
int addch (int y, int x, const chtype ch)
 
int echochar (const char ch)
 
int echochar (const chtype ch)
 
int addstr (const char *str, int n=-1)
 
int addstr (int y, int x, const char *str, int n=-1)
 
int addwstr (const wchar_t *str, int n=-1)
 
int addwstr (int y, int x, const wchar_t *str, int n=-1)
 
int printw (const char *fmt,...)
 
int printw (int y, int x, const char *fmt,...)
 
chtype inch () const
 
chtype inchar () const
 
chtype inch (int y, int x)
 
chtype inchar (int y, int x)
 
int in_wchar (cchar_t *cchar)
 
int in_wchar (int y, int x, cchar_t *cchar)
 
int insch (chtype ch)
 
int insch (int y, int x, chtype ch)
 
int ins_wch (int y, int x, const cchar_t *cchar)
 
int insertln ()
 
int insdelln (int n=1)
 
int insstr (const char *s, int n=-1)
 
int insstr (int y, int x, const char *s, int n=-1)
 
int attron (chtype at)
 
int attroff (chtype at)
 
int attrset (chtype at)
 
int chgat (int n, attr_t attr, short color, const void *opts=NULL)
 
int chgat (int y, int x, int n, attr_t attr, short color, const void *opts=NULL)
 
chtype getbkgd () const
 
int bkgd (const chtype ch)
 
void bkgdset (chtype ch)
 
int box ()
 
int border (chtype left=0, chtype right=0, chtype top=0, chtype bottom=0, chtype top_left=0, chtype top_right=0, chtype bottom_left=0, chtype bottom_right=0)
 
int hline (int len, chtype ch=0)
 
int hline (int y, int x, int len, chtype ch=0)
 
int vline (int len, chtype ch=0)
 
int vline (int y, int x, int len, chtype ch=0)
 
int box (const wrect &dim)
 
int erase ()
 
int clear ()
 
int clearok (bool bf)
 
int clrtobot ()
 
int clrtoeol ()
 
int delch ()
 
int delch (int y, int x)
 
int deleteln ()
 
int scroll (int amount=1)
 
int scrollok (bool bf)
 
int setscrreg (int from, int to)
 
int idlok (bool bf)
 
void idcok (bool bf)
 
int touchwin ()
 
int untouchwin ()
 
int touchln (int s, int cnt, bool changed=TRUE)
 
bool is_wintouched () const
 
int leaveok (bool bf)
 
int redrawln (int from, int n)
 
int redrawwin ()
 
int doupdate ()
 
void syncdown ()
 
void syncup ()
 
void cursyncup ()
 
int syncok (bool bf)
 
void immedok (bool bf)
 
int keypad (bool bf)
 
int meta (bool bf)
 
int standout ()
 
int standend ()
 
int overlay (NCursesWindow &win)
 
int overwrite (NCursesWindow &win)
 
int copywin (NCursesWindow &win, int sminrow, int smincol, int dminrow, int dmincol, int dmaxrow, int dmaxcol, bool overlay=TRUE)
 
bool has_mouse () const
 
NCursesWindowchild ()
 
const NCursesWindowchild () const
 
NCursesWindowsibling ()
 
const NCursesWindowsibling () const
 
NCursesWindowparent ()
 
const NCursesWindowparent () const
 
bool isDescendant (NCursesWindow &win)
 
- Public Member Functions inherited from NCScrollHint
void SendSchrollCB (NCSchrollCB *dest)
 Set the receiver of callbacks to dest
 

Protected Member Functions

virtual int DoRedraw ()
 
virtual void directDraw (NCursesWindow &w, const wrect at, unsigned lineno)
 
- Protected Member Functions inherited from NCTablePadBase
 NCTablePadBase (int lines, int cols, const NCWidget &p)
 
virtual wsze UpdateFormat ()
 
virtual bool currentItemHandleInput (wint_t key)
 
void updateVisibleItems ()
 
void setFormatDirty ()
 
virtual int dirtyPad ()
 
virtual void prepareRedraw ()
 
virtual void drawContentLines ()
 
virtual void drawHeader ()
 
virtual int setpos (const wpos &newPos)
 
int currentLineNo () const
 
void setCurrentLineNo (int newVal)
 
int currentColNo () const
 
void setCurrentColNo (int newVal)
 
void assertLine (unsigned index)
 
- Protected Member Functions inherited from NCPad
int vheight () const
 
bool paging () const
 
int adjpos (const wpos &offset)
 Adjust CurPos relatively by offset
 
virtual void updateScrollHint ()
 
- Protected Member Functions inherited from NCursesWindow
void err_handler (const char *) const THROWS(NCursesException)
 
void kill_subwindows ()
 
 NCursesWindow ()
 
- Protected Member Functions inherited from NCScrollHint
virtual void SetHead (NCursesWindow &w, unsigned ccol)
 
void VSet (unsigned total, unsigned visible, unsigned start)
 
void HSet (unsigned total, unsigned visible, unsigned start)
 
virtual void SetPadSize (wsze &minsze)
 
- Protected Member Functions inherited from NCSchrollCB
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)
 

Additional Inherited Members

- Static Public Member Functions inherited from NCursesWindow
static void useColors (void)
 
static int ripoffline (int ripoff_lines, int(*init)(NCursesWindow &win))
 
static int lines ()
 
static int cols ()
 
static int tabsize ()
 
static int NumberOfColors ()
 
static int maxcoord ()
 
- Protected Attributes inherited from NCTablePadBase
std::vector< NCTableLine * > _items
 (owned)
 
std::vector< NCTableLine * > _visibleItems
 not owned
 
NCursesPad _headpad
 
bool _dirtyHead
 
bool _dirtyFormat
 does table format (size) need recalculating?
 
NCTableStyle _itemStyle
 
wpos _citem
 current/cursor position
 
- Protected Attributes inherited from NCPad
const NCWidgetparw
 
NCursesWindowdestwin
 Destination rectangle: (Pos is always 0, 0)
 
wrect drect
 
wrect srect
 Source rectangle: the visible part of this pad.
 
wpos maxdpos
 
wpos maxspos
 
bool dclear
 should destwin be cleared before contents is copied there
 
bool dirty
 
- Protected Attributes inherited from NCursesWindow
WINDOW * w
 
bool alloced
 
NCursesWindowpar
 
NCursesWindowsubwins
 
NCursesWindowsib
 
- Static Protected Attributes inherited from NCursesWindow
static long count = 0L
 

Detailed Description

An NCPad for an NCTable.

Most of its former functionality is now handled in the NCTablePadBase base class.

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

Notice that this class is heavily used in other selection widgets like

And the table classes from libyui-ncurses-pkg:

  • NCPkgTable
  • NCPkgLocaleTable
  • NCPkgRepoTable

So if you change anything here, make sure to test all those classes.

Member Function Documentation

◆ directDraw()

void NCTablePad::directDraw ( NCursesWindow & w,
const wrect at,
unsigned lineno )
protectedvirtual

Directly draw a table item at a specific location.

update usually copies the visible table content from the NCursesPad to destwin. In case the NCursesPad is truncated, the visible lines are prepared immediately before they are written to destwin

See also
_vheight.

Reimplemented from NCPad.

◆ DoRedraw()

int NCTablePad::DoRedraw ( )
protectedvirtual

Redraw the pad.

Reimplemented from NCTablePadBase and NCPad.

Reimplemented from NCTablePadBase.

◆ findIndexById()

int NCTablePad::findIndexById ( int id) const

Find the item index in a sorted table. Return -1 if not found. An item/line remembers its insertion index.

Parameters
idthe index before sorting

◆ handleInput()

bool NCTablePad::handleInput ( wint_t key)
virtual

Handle a keyboard input event. Return 'true' if the event is now handled, 'false' if it should be propagated to the parent widget.

Most of the keys are now handled in the NCTablePadBase base class or in the individual items' handlers (NCTreeLine, NCTableLine). This method is mostly here as a stub for future extensions.

Reimplemented from NCTablePadBase and NCPad.

Reimplemented from NCTablePadBase.


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