30 #include <yui/YTree.h>
31 #include "NCPadWidget.h"
32 #include "NCTreePad.h"
33 #include "NCTablePad.h"
41 friend std::ostream & operator<<( std::ostream & STREAM,
const NCTree & OBJ );
56 const NCTreeLine * getTreeLine(
unsigned idx )
const;
59 virtual const char * location()
const {
return "NCTree"; }
61 virtual NCPad * CreatePad();
62 virtual void DrawPad();
64 virtual void startMultipleChanges() { startMultidraw(); }
65 virtual void doneMultipleChanges() { stopMultidraw(); }
69 NCTree( YWidget * parent,
const std::string & label,
bool multiselection=
false,
bool recursiveselection=
false );
72 virtual int preferredWidth();
73 virtual int preferredHeight();
75 virtual void setSize(
int newWidth,
int newHeight );
77 virtual void setLabel(
const std::string & nlabel );
78 virtual void rebuildTree();
80 virtual YTreeItem * getCurrentItem()
const;
82 virtual YTreeItem * currentItem();
84 virtual void deselectAllItems();
86 virtual void selectItem( YItem *item,
bool selected );
87 virtual void selectItem(
int index );
93 virtual bool setKeyboardFocus()
96 return YWidget::setKeyboardFocus();
101 void deleteAllItems();
virtual NCTreePad * myPad() const
virtual void setEnabled(bool do_bv)