20 #ifndef PAWS_TREE_HEADER 21 #define PAWS_TREE_HEADER 23 #include <csutil/parray.h> 24 #include <iutil/document.h> 34 #define TREE_MOUSE_SCROLL_AMOUNT 20 109 virtual bool Load(iDocumentNode* node);
119 csString GetAttr(
const csString &name);
120 void SetAttr(
const csString &name,
const csString &value);
151 virtual void Clear();
154 pawsTreeNode* FindChildByName(
const csString &name,
bool indirectToo);
160 virtual void SetCollapsable(
bool collapsable);
166 virtual void Expand();
167 virtual void ExpandAll();
168 virtual void Collapse();
169 virtual void CollapseAll();
170 virtual bool IsCollapsed();
171 virtual bool BuriedInRuins();
181 void SetChildrenVisibAfterCollapseChange(
bool expanded);
212 virtual bool Load(iDocumentNode* node);
228 virtual void Clear();
231 virtual void InsertChild(
const csString &parent,
pawsTreeNode* node,
const csString &nextSibling);
232 virtual void InsertChild(
const csString &parent,
pawsTreeNode* node);
233 virtual void MoveChild(
const csString &name,
const csString &nextSibling);
234 virtual void DeleteChild(
const csString &name);
274 virtual bool Setup(iDocumentNode* node);
275 virtual bool PostSetup();
278 virtual bool OnMouseDown(
int button,
int modifiers,
int x,
int y);
279 virtual bool OnKeyDown(utf32_char keyCode, utf32_char keyChar,
int modifiers);
280 virtual bool OnScroll(
int scrollDirection,
pawsScrollBar* widget);
281 virtual bool LoadChildren(iDocumentNode* node);
297 void SetScrollBars(
bool horiz,
bool vert);
302 virtual void Deselect();
305 void SetNotify(
pawsWidget* _notificationTarget);
309 void SetScrollBarMax();
310 void cloneTreeNodes(
const pawsTree &origin);
329 virtual void SetLayout() = 0;
331 virtual void SetHorizScroll(
int horizScroll) = 0;
332 virtual void SetVertScroll(
int vertScroll) = 0;
333 virtual void GetTreeSize(
int &width,
int &height) = 0;
346 virtual void SetLayout();
347 virtual void SetHorizScroll(
int horizScroll);
348 virtual void SetVertScroll(
int vertScroll);
349 virtual void GetTreeSize(
int &width,
int &height);
352 void SetSubtreeLayout(
pawsTreeNode* subtreeRoot,
int x,
int y,
int &maxX,
int &maxY);
378 virtual void Decorate() = 0;
379 virtual bool OnMouseDown(
int button,
int modifiers,
int x,
int y) = 0;
389 virtual void Decorate();
390 virtual bool OnMouseDown(
int button,
int modifiers,
int x,
int y);
397 void GetCollapseSignFrame(
pawsTreeNode* node, csRect &rect);
423 virtual bool Load(iDocumentNode* node);
438 virtual bool GetCheck() = 0;
439 virtual void SetCheck(
bool ch) = 0;
454 virtual bool GetCheck();
455 virtual void SetCheck(
bool ch);
484 factory =
"pawsSeqTreeNode";
488 virtual bool Load(iDocumentNode* node);
490 virtual void AddSeqWidget(
pawsWidget* widget,
int width);
493 virtual void AddSeqWidget(
pawsWidget* widget);
523 virtual bool Load(iDocumentNode* node);
526 virtual void Set(
int mode,
bool checked,
const csString &imageName,
const csString &label);
548 virtual bool Setup(iDocumentNode* node);
551 int GetDefaultColor();
552 void SetDefaultColor(
int);
554 virtual void InsertChildL(
const csString &parent,
const csString &name,
const csString &label,
const csString &nextSibling);
556 virtual void InsertChildI(
const csString &parent,
const csString &name,
const csString &image,
const csString &nextSibling);
558 virtual void InsertChildIL(
const csString &parent,
const csString &name,
const csString &image,
const csString &label,
const csString &nextSibling);
pawsWidget * notificationTarget
pawsScrollBar * vertScrollBar
virtual ~pawsITreeLayout()
pawsITreeDecorator * decor
pawsTreeNode * firstChild
virtual bool IsCollapsable()
csArray< TreeNodeAttribute > attrList
CREATE_PAWS_FACTORY(pawsTree)
pawsTreeNode * prevSibling
csList< pawsSeqTreeNode_widget > widgets
virtual ~pawsITreeStruct()
virtual void RemoveNode(pawsTreeNode *node)=0
virtual ~pawsCheckTreeNode()
virtual void NewNode(pawsTreeNode *node)=0
virtual ~pawsICheckTreeNode()
virtual void NodeChanged()=0
csRef< iPawsImage > expandImage
virtual ~pawsITreeDecorator()
csRef< iPawsImage > collImage