30#include <yui/YTable.h>
31#include "NCPadWidget.h"
32#include "NCTablePad.h"
33#include "NCTableSort.h"
42class NCTable :
public YTable,
public NCPadWidget
44 friend std::ostream & operator<<( std::ostream & str,
const NCTable & obj );
48 NCTable( YWidget * parent,
49 YTableHeader * tableHeader,
50 bool multiSelection =
false );
57 void setHeader(
const std::vector<std::string>& head );
63 std::vector<std::string>
getHeader()
const;
70 virtual void addItems(
const YItemCollection & itemCollection );
78 {
addItem( yitem, NCTableLine::S_NORMAL ); }
89 virtual void addItem( YItem * yitem,
90 NCTableLine::STATE state );
140 virtual void selectItem( YItem *yitem,
bool selected );
186 virtual void setSize(
int newWidth,
int newHeight );
194 virtual void setLabel(
const std::string & nlabel );
211 return YWidget::setKeyboardFocus();
227 {
myPad()->SetSepChar( colSepchar ); }
234 {
myPad()->SetSepWidth( sepwidth ); }
241 {
myPad()->SetHotCol( hcol ); }
276 virtual const char *
location()
const {
return "NCTable"; }
302 virtual void addItem( YItem * yitem,
304 NCTableLine::STATE state = NCTableLine::S_NORMAL );
324 NCTableLine::STATE state = NCTableLine::S_NORMAL );
351 bool hasNestedItems(
const YItemCollection & itemCollection )
const;
354 YItemConstIterator end )
const;
386 void setCell(
int index,
int col,
const std::string & newText );
404 YItemConstIterator end );
425 void sortItems(
int sortCol,
bool reverse =
false );
438 NCTable & operator=(
const NCTable & );
439 NCTable(
const NCTable & );
460std::ostream & operator<<( std::ostream & stream,
const YItem * item );
Definition NCTableItem.h:68
Definition NCTablePad.h:62
Definition NCTableSort.h:36
virtual const char * location() const
Definition NCTable.h:276
NCstring alignmentStr(int col)
Definition NCTable.cc:113
void toggleCurrentItem()
Definition NCTable.cc:635
virtual void scrollToFirstItem()
Definition NCTable.cc:399
void rebuildHeaderLine()
Definition NCTable.cc:86
void SetSepWidth(const unsigned sepwidth)
Definition NCTable.h:233
void SetSepChar(const chtype colSepchar)
Definition NCTable.h:226
virtual void deselectAllItems()
Definition NCTable.cc:472
virtual NCTablePad * myPad() const
Definition NCTable.h:289
virtual int getCurrentItem() const
Definition NCTable.cc:365
virtual bool setKeyboardFocus()
Definition NCTable.h:208
virtual void doneMultipleChanges()
Definition NCTable.h:370
virtual void deleteAllItems()
Definition NCTable.cc:353
bool hasNestedItems(const YItemCollection &itemCollection) const
Definition NCTable.cc:334
void stripHotkeys()
Definition NCTable.h:256
void sortYItems(YItemIterator begin, YItemIterator end)
Definition NCTable.cc:738
virtual int getCurrentIndex() const
Definition NCTable.cc:391
virtual void setEnabled(bool do_bv)
Definition NCTable.cc:527
YItem * getCurrentItemPointer()
Definition NCTable.cc:380
void selectCurrentItem()
Definition NCTable.cc:463
virtual void addItem(YItem *yitem)
Definition NCTable.h:77
virtual void setCurrentItem(int index)
Definition NCTable.cc:406
virtual void startMultipleChanges()
Definition NCTable.h:362
virtual void setSize(int newWidth, int newHeight)
Definition NCTable.cc:514
void assignIndex(YItem *item)
virtual void addPadLine(NCTableLine *parentLine, YItem *yitem, bool preventRedraw, NCTableLine::STATE state=NCTableLine::S_NORMAL)
Definition NCTable.cc:259
void cellChanged(const YTableCell *cell)
Definition NCTable.cc:155
void setHeader(const std::vector< std::string > &head)
Definition NCTable.cc:181
virtual void addItems(const YItemCollection &itemCollection)
Definition NCTable.cc:210
void setCell(int index, int col, const std::string &newText)
Definition NCTable.cc:129
void rebuildPadLines()
Definition NCTable.cc:320
virtual int preferredHeight()
Definition NCTable.cc:507
void interactiveSort()
Definition NCTable.cc:644
void SetHotCol(int hcol)
Definition NCTable.h:240
NCTableSortStrategyBase * sortStrategy() const
Definition NCTable.h:266
virtual NCPad * CreatePad()
Definition NCTable.cc:540
virtual NCursesEvent wHandleInput(wint_t key)
Definition NCTable.cc:556
void setBigList(bool big)
Definition NCTable.h:251
virtual int preferredWidth()
Definition NCTable.cc:500
bool bigList() const
Definition NCTable.h:246
void assignIndex(YItemConstIterator begin, YItemConstIterator end)
virtual void setLabel(const std::string &nlabel)
Definition NCTable.cc:520
void setSortStrategy(NCTableSortStrategyBase *newStrategy)
Definition NCTable.cc:755
std::vector< std::string > getHeader() const
Definition NCTable.cc:196
virtual void selectItem(YItem *yitem, bool selected)
Definition NCTable.cc:412
bool setItemByKey(int key)
Definition NCTable.cc:534
void sortItems(int sortCol, bool reverse=false)
Definition NCTable.cc:707