27 #ifndef FXSCROLLAREA_H
75 FXTreeItem():parent(
NULL),prev(
NULL),next(
NULL),first(
NULL),last(
NULL),openIcon(
NULL),closedIcon(
NULL),data(
NULL),state(0),x(0),y(0){}
93 FXTreeItem(
const FXString& text,
FXIcon* oi=
NULL,
FXIcon* ci=
NULL,
void* ptr=
NULL):parent(
NULL),prev(
NULL),next(
NULL),first(
NULL),last(
NULL),label(text),openIcon(oi),closedIcon(ci),data(ptr),state(0),x(0),y(0){}
96 FXTreeItem* getParent()
const {
return parent; }
105 FXTreeItem* getFirst()
const {
return first; }
108 FXTreeItem* getLast()
const {
return last; }
111 FXTreeItem* getBelow()
const;
117 FXint getNumChildren()
const;
120 virtual void setText(
const FXString& txt);
123 const FXString& getText()
const {
return label; }
129 FXIcon* getOpenIcon()
const {
return openIcon; }
135 FXIcon* getClosedIcon()
const {
return closedIcon; }
138 void setData(
void* ptr){ data=ptr; }
141 void* getData()
const {
return data; }
144 virtual void setFocus(
FXbool focus);
147 FXbool hasFocus()
const {
return (state&FOCUS)!=0; }
150 virtual void setSelected(
FXbool selected);
153 FXbool isSelected()
const {
return (state&SELECTED)!=0; }
156 virtual void setOpened(
FXbool opened);
159 FXbool isOpened()
const {
return (state&OPENED)!=0; }
162 virtual void setExpanded(
FXbool expanded);
165 FXbool isExpanded()
const {
return (state&EXPANDED)!=0; }
168 virtual void setEnabled(
FXbool enabled);
171 FXbool isEnabled()
const {
return (state&DISABLED)==0; }
174 virtual void setDraggable(
FXbool draggable);
177 FXbool isDraggable()
const {
return (state&DRAGGABLE)!=0; }
180 FXbool hasItems()
const {
return (state&HASITEMS)!=0; }
183 void setHasItems(
FXbool flag);
186 FXbool isChildOf(
const FXTreeItem* item)
const;
189 FXbool isParentOf(
const FXTreeItem* item)
const;
192 virtual FXint getWidth(
const FXTreeList* list)
const;
195 virtual FXint getHeight(
const FXTreeList* list)
const;
198 virtual void create();
201 virtual void detach();
204 virtual void destroy();
207 virtual void save(FXStream& store)
const;
246 FXTreeItem *firstitem;
247 FXTreeItem *lastitem;
248 FXTreeItem *anchoritem;
249 FXTreeItem *currentitem;
250 FXTreeItem *extentitem;
251 FXTreeItem *cursoritem;
252 FXTreeItem *viewableitem;
272 void sort(FXTreeItem*& f1,FXTreeItem*& t1,FXTreeItem*& f2,FXTreeItem*& t2,
int n);
301 static FXint ascending(
const FXTreeItem*,
const FXTreeItem*);
302 static FXint descending(
const FXTreeItem*,
const FXTreeItem*);
303 static FXint ascendingCase(
const FXTreeItem*,
const FXTreeItem*);
304 static FXint descendingCase(
const FXTreeItem*,
const FXTreeItem*);
316 virtual void create();
319 virtual void detach();
322 virtual void layout();
325 virtual FXint getDefaultWidth();
328 virtual FXint getDefaultHeight();
331 virtual FXint getContentWidth();
334 virtual FXint getContentHeight();
337 virtual void recalc();
340 virtual bool canFocus()
const;
343 virtual void setFocus();
346 virtual void killFocus();
349 FXint getNumItems()
const;
352 FXint getNumVisible()
const {
return visible; }
355 void setNumVisible(
FXint nvis);
358 FXTreeItem* getFirstItem()
const {
return firstitem; }
361 FXTreeItem* getLastItem()
const {
return lastitem; }
370 FXTreeItem* insertItem(FXTreeItem* other,FXTreeItem* father,FXTreeItem* item,
FXbool notify=
FALSE);
376 FXTreeItem* appendItem(FXTreeItem* father,FXTreeItem* item,
FXbool notify=
FALSE);
382 FXTreeItem* prependItem(FXTreeItem* father,FXTreeItem* item,
FXbool notify=
FALSE);
388 FXTreeItem *moveItem(FXTreeItem* other,FXTreeItem* father,FXTreeItem* item);
391 FXTreeItem* extractItem(FXTreeItem* item,
FXbool notify=
FALSE);
394 void removeItem(FXTreeItem* item,
FXbool notify=
FALSE);
397 void removeItems(FXTreeItem* fm,FXTreeItem* to,
FXbool notify=
FALSE);
403 FXint getItemWidth(
const FXTreeItem* item)
const {
return item->
getWidth(
this); }
406 FXint getItemHeight(
const FXTreeItem* item)
const {
return item->
getHeight(
this); }
409 virtual FXTreeItem* getItemAt(
FXint x,
FXint y)
const;
433 virtual void makeItemVisible(FXTreeItem* item);
436 void setItemText(FXTreeItem* item,
const FXString& text);
439 FXString getItemText(
const FXTreeItem* item)
const;
442 void setItemOpenIcon(FXTreeItem* item,FXIcon* icon,
FXbool owned=
FALSE);
445 FXIcon* getItemOpenIcon(
const FXTreeItem* item)
const;
448 void setItemClosedIcon(FXTreeItem* item,FXIcon* icon,
FXbool owned=
FALSE);
451 FXIcon* getItemClosedIcon(
const FXTreeItem* item)
const;
454 void setItemData(FXTreeItem* item,
void* ptr)
const;
457 void* getItemData(
const FXTreeItem* item)
const;
460 FXbool isItemSelected(
const FXTreeItem* item)
const;
463 FXbool isItemCurrent(
const FXTreeItem* item)
const;
466 FXbool isItemVisible(
const FXTreeItem* item)
const;
469 FXbool isItemOpened(
const FXTreeItem* item)
const;
472 FXbool isItemExpanded(
const FXTreeItem* item)
const;
475 FXbool isItemLeaf(
const FXTreeItem* item)
const;
478 FXbool isItemEnabled(
const FXTreeItem* item)
const;
484 void updateItem(FXTreeItem* item)
const;
487 virtual FXbool enableItem(FXTreeItem* item);
490 virtual FXbool disableItem(FXTreeItem* item);
520 virtual void setCurrentItem(FXTreeItem* item,
FXbool notify=
FALSE);
523 FXTreeItem* getCurrentItem()
const {
return currentitem; }
526 void setAnchorItem(FXTreeItem* item);
529 FXTreeItem* getAnchorItem()
const {
return anchoritem; }
532 FXTreeItem* getCursorItem()
const {
return cursoritem; }
538 void sortRootItems();
541 void sortChildItems(FXTreeItem* item);
550 void setFont(FXFont* fnt);
553 FXFont* getFont()
const {
return font; }
556 void setIndent(
FXint in);
559 FXint getIndent()
const {
return indent; }
562 FXColor getTextColor()
const {
return textColor; }
565 void setTextColor(
FXColor clr);
568 FXColor getSelBackColor()
const {
return selbackColor; }
571 void setSelBackColor(
FXColor clr);
574 FXColor getSelTextColor()
const {
return seltextColor; }
577 void setSelTextColor(
FXColor clr);
580 FXColor getLineColor()
const {
return lineColor; }
583 void setLineColor(
FXColor clr);
586 FXuint getListStyle()
const;
589 void setListStyle(
FXuint style);
592 void setHelpText(
const FXString& text);
595 const FXString& getHelpText()
const {
return help; }
598 virtual void save(FXStream& store)
const;
601 virtual void load(FXStream& store);
604 virtual ~FXTreeList();
Multiple selection mode is used for selection of individual items.
Definition: FXTreeList.h:48
Search forward (default)
Definition: fxdefs.h:363
char FXchar
Definition: fxdefs.h:380
Tree list Item.
Definition: FXTreeList.h:63
FXint(* FXTreeListSortFunc)(const FXTreeItem *, const FXTreeItem *)
Tree item collate function.
Definition: FXTreeList.h:208
Definition: FXWindow.h:241
unsigned int FXuint
Definition: fxdefs.h:389
FXuint FXSelector
Association key.
Definition: FXObject.h:53
A Tree List Widget organizes items in a hierarchical, tree-like fashion.
Definition: FXTreeList.h:235
#define FXAPI
Definition: fxdefs.h:122
FXuchar FXbool
Definition: fxdefs.h:386
Definition: FXTreeList.h:53
Base composite.
Definition: FXComposite.h:35
#define NULL
Definition: fxdefs.h:41
FXuint FXColor
Definition: fxdefs.h:447
FXString name(const FXString &file)
Return name and extension part of the path name.
virtual FXint getWidth(const FXTreeList *list) const
Return width of item as drawn in list.
Automatically select under cursor.
Definition: FXTreeList.h:49
A stream is a way to serialize data and objects into a byte stream.
Definition: FXStream.h:99
Browse selection mode enforces one single item to be selected at all times.
Definition: FXTreeList.h:47
Abstract Device Context.
Definition: FXDC.h:191
Lines shown.
Definition: FXTreeList.h:50
Boxes to expand shown.
Definition: FXTreeList.h:51
Definition: FX4Splitter.h:31
int FXint
Definition: fxdefs.h:390
An Icon is an image with two additional server-side resources: a shape bitmap, which is used to mask ...
Definition: FXIcon.h:45
Single selection mode allows up to one item to be selected.
Definition: FXTreeList.h:46
#define FALSE
Definition: fxdefs.h:35
Extended selection mode allows for drag-selection of ranges of items.
Definition: FXTreeList.h:45
Object is the base class for all objects in FOX; in order to receive messages from the user interface...
Definition: FXObject.h:166
Wrap around to start.
Definition: fxdefs.h:366
A Directory List widget provides a tree-structured view of the file system.
Definition: FXDirList.h:122
virtual FXint getHeight(const FXTreeList *list) const
Return height of item as drawn in list.
Font class.
Definition: FXFont.h:142
#define FXDECLARE(classname)
Macro to set up class declaration.
Definition: FXObject.h:92
Display root boxes also.
Definition: FXTreeList.h:52
FXString provides essential string manipulation capabilities.
Definition: FXString.h:33