26#ifndef NCTablePadBase_h
27#define NCTablePadBase_h
31#include "NCTableItem.h"
60 friend std::ostream & operator<<( std::ostream & str,
const NCTablePadBase & obj );
78 virtual void wRecoded();
91 bool SetHeadline(
const std::vector<NCstring> & head );
93 virtual void SendHead()
95 SetHead( _headpad,
srect.Pos.C );
99 void SetSepChar(
const chtype colSepchar )
101 _itemStyle.SetSepChar( colSepchar );
104 void SetSepWidth(
const unsigned sepwidth )
109 void SetHotCol(
int hcol )
111 _itemStyle.SetHotCol( hcol );
117 unsigned Cols()
const {
return _itemStyle.Cols(); }
124 bool empty()
const {
return _items.empty(); }
126 unsigned HotCol()
const {
return _itemStyle.HotCol(); }
133 void SetLines( std::vector<NCTableLine*> & newItems );
152 void Append( std::vector<NCTableCol*> & cells,
int index )
200 NCTableLine * getLineWithIndex(
unsigned idx )
const;
205 virtual wsze UpdateFormat();
wrect srect
Source rectangle: the visible part of this pad.
Definition NCPad.h:138
Definition NCTableItem.h:422
Definition NCTableItem.h:68
Definition NCTablePadBase.h:59
virtual bool handleInput(wint_t key)
Definition NCTablePadBase.cc:386
void updateVisibleItems()
Definition NCTablePadBase.cc:227
void Append(NCTableLine *item)
Definition NCTablePadBase.h:147
virtual int DoRedraw()
Definition NCTablePadBase.cc:239
std::vector< NCTableLine * > _visibleItems
not owned
Definition NCTablePadBase.h:290
virtual void prepareRedraw()
Definition NCTablePadBase.cc:261
void setCurrentLineNo(int newVal)
Definition NCTablePadBase.h:266
NCTableLine * GetCurrentLine() const
Definition NCTablePadBase.cc:444
void Append(std::vector< NCTableCol * > &cells, int index)
Definition NCTablePadBase.h:152
unsigned Lines() const
Definition NCTablePadBase.h:122
int currentColNo() const
Definition NCTablePadBase.h:271
unsigned Cols() const
Definition NCTablePadBase.h:117
NCTableLine * ModifyLine(unsigned idx)
Definition NCTablePadBase.cc:93
std::vector< NCTableLine * > _items
(owned)
Definition NCTablePadBase.h:289
void setCurrentColNo(int newVal)
Definition NCTablePadBase.h:276
virtual bool currentItemHandleInput(wint_t key)
Definition NCTablePadBase.cc:424
virtual void drawContentLines()
Definition NCTablePadBase.cc:271
virtual int setpos(const wpos &newPos)
Definition NCTablePadBase.cc:301
wpos _citem
current/cursor position
Definition NCTablePadBase.h:295
void AddLine(unsigned idx, NCTableLine *item)
Definition NCTablePadBase.cc:154
int currentLineNo() const
Definition NCTablePadBase.h:261
void SetLines(unsigned count)
Definition NCTablePadBase.cc:112
virtual void drawHeader()
Definition NCTablePadBase.cc:285
void ClearTable()
Definition NCTablePadBase.cc:51
const NCTableLine * GetLine(unsigned idx) const
Definition NCTablePadBase.cc:87
virtual wpos CurPos() const
CurPos().L is the index of the selected item.
Definition NCTablePadBase.cc:188
bool _dirtyFormat
does table format (size) need recalculating?
Definition NCTablePadBase.h:293
unsigned visibleLines() const
Definition NCTablePadBase.h:89
void assertLine(unsigned index)
Definition NCTablePadBase.cc:164
int findIndex(unsigned idx) const
Definition NCTablePadBase.cc:100
Styling for a NCTable: column widths, alignment and colors.
Definition NCTableItem.h:523
void SetSepWidth(const unsigned sepWidth)
total width of space between adjacent columns, including the separator character
Definition NCTableItem.h:544
Definition ncursesw.h:1832
static long count
Definition ncursesw.h:941
static int lines()
Definition ncursesw.h:1044
static int cols()
Definition ncursesw.h:1049
Screen position pair in the order line, column: (L, C)
Definition position.h:110
Screen dimension (screen size) in the order height, width: (H, W)
Definition position.h:154