#include <NCTablePad.h>
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 () |
![]() | |
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 NCTableLine * | GetLine (unsigned idx) const |
NCTableLine * | ModifyLine (unsigned idx) |
int | findIndex (unsigned idx) const |
NCTableLine * | GetCurrentLine () const |
![]() | |
NCPad (int lines, int cols, const NCWidget &p) | |
NCursesWindow * | Destwin () |
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 () |
![]() | |
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) |
![]() | |
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 |
NCursesWindow * | child () |
const NCursesWindow * | child () const |
NCursesWindow * | sibling () |
const NCursesWindow * | sibling () const |
NCursesWindow * | parent () |
const NCursesWindow * | parent () const |
bool | isDescendant (NCursesWindow &win) |
![]() | |
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) |
![]() | |
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) |
![]() | |
int | vheight () const |
bool | paging () const |
int | adjpos (const wpos &offset) |
Adjust CurPos relatively by offset | |
virtual void | updateScrollHint () |
![]() | |
void | err_handler (const char *) const THROWS(NCursesException) |
void | kill_subwindows () |
NCursesWindow () | |
![]() | |
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) |
![]() | |
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 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 () |
![]() | |
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 | |
![]() | |
const NCWidget & | parw |
NCursesWindow * | destwin |
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 |
![]() | |
WINDOW * | w |
bool | alloced |
NCursesWindow * | par |
NCursesWindow * | subwins |
NCursesWindow * | sib |
![]() | |
static long | count = 0L |
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:
So if you change anything here, make sure to test all those classes.
|
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
Reimplemented from NCPad.
|
protectedvirtual |
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.
id | the index before sorting |
|
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.