31 #include "../Window.h"
32 #include "../WindowManager.h"
33 #include "./TreeItem.h"
34 #include "./Scrollbar.h"
38 # pragma warning(push)
39 # pragma warning(disable : 4251)
79 CEGUI_VECTOR_ALLOC(
TreeItem*)> LBItemList;
84 static const String WidgetTypeName;
145 { populateGeometryBuffer(); }
149 { configureScrollbars(); }
162 {
return d_listItems.size(); }
171 size_t getSelectedCount(
void)
const;
181 TreeItem* getFirstSelectedItem(
void)
const;
193 {
return d_lastSelected; }
214 TreeItem* getNextSelectedItemFromList(
const LBItemList &itemList,
216 bool& foundStartItem)
const;
229 void setItemRenderArea(
Rectf& r)
232 Scrollbar* getVertScrollbar()
233 {
return d_vertScrollbar; }
235 Scrollbar* getHorzScrollbar()
236 {
return d_horzScrollbar; }
246 {
return d_multiselect; }
248 bool isItemTooltipsEnabled(
void)
const
249 {
return d_itemTooltips; }
270 TreeItem* findFirstItemWithText(
const String& text);
272 TreeItem* findNextItemWithText(
const String& text,
273 const TreeItem* start_item);
275 TreeItem* findItemWithTextFromList(
const LBItemList &itemList,
277 const TreeItem* start_item,
278 bool foundStartItem);
299 TreeItem* findFirstItemWithID(uint searchID);
300 TreeItem* findNextItemWithID(uint searchID,
const TreeItem* start_item);
301 TreeItem* findItemWithIDFromList(
const LBItemList &itemList, uint searchID,
302 const TreeItem* start_item,
303 bool foundStartItem);
313 bool isTreeItemInList(
const TreeItem* item)
const;
323 bool isVertScrollbarAlwaysShown(
void)
const;
333 bool isHorzScrollbarAlwaysShown(
void)
const;
349 virtual void initialise(
void);
357 void resetList(
void);
371 void addItem(TreeItem* item);
396 void insertItem(TreeItem* item,
const TreeItem* position);
410 void removeItem(
const TreeItem* item);
419 void clearAllSelections(
void);
420 bool clearAllSelectionsFromList(
const LBItemList &itemList);
433 void setSortingEnabled(
bool setting);
447 void setMultiselectEnabled(
bool setting);
462 void setShowVertScrollbar(
bool setting);
477 void setShowHorzScrollbar(
bool setting);
479 void setItemTooltipsEnabled(
bool setting);
504 void setItemSelectState(TreeItem* item,
bool state);
529 void setItemSelectState(
size_t item_index,
bool state);
548 virtual void setLookNFeel(
const String& look);
563 void handleUpdatedItemData(
void);
578 void ensureItemIsVisible(
const TreeItem* item);
588 Tree(
const String& type,
const String& name);
610 {
return d_itemArea; }
624 {
return static_cast<Scrollbar*
>(getChild(name)); }
638 {
return static_cast<Scrollbar*
>(getChild(name)); }
660 bool containsOpenItemRecursive(
const LBItemList& itemList,
TreeItem* item);
666 void addTreeEvents(
void);
674 void configureScrollbars(
void);
681 void selectRange(
size_t start,
size_t end);
687 float getTotalItemsHeight(
void)
const;
688 void getTotalItemsInListHeight(
const LBItemList &itemList,
689 float *heightSum)
const;
695 float getWidestItemWidth(
void)
const;
696 void getWidestItemWidthInList(
const LBItemList &itemList,
int itemDepth,
697 float *widest)
const;
707 bool getHeightToItemInList(
const LBItemList &itemList,
710 float *height)
const;
720 bool clearAllSelections_impl(
void);
731 TreeItem* getItemFromListAtPoint(
const LBItemList &itemList,
float *bottomY,
745 bool resetList_impl(
void);
752 bool handle_scrollChange(
const EventArgs& args);
755 virtual void populateGeometryBuffer();
756 bool handleFontRenderSizeChange(
const EventArgs& args);
758 void drawItemList(LBItemList& itemList,
Rectf& itemsArea,
float widest,
851 void addTreeProperties(
void);
873 #if defined(_MSC_VER)
874 # pragma warning(pop)
877 #endif // end of guard _CEGUITree_h_
static const String EventListContentsChanged
Definition: widgets/Tree.h:94
EventArgs based class that is used for objects passed to input event handlers concerning Tree events...
Definition: widgets/Tree.h:50
Scrollbar * d_horzScrollbar
horizontal scroll-bar widget
Definition: widgets/Tree.h:839
bool isSortEnabled(void) const
return whether tree sorting is enabled
Definition: widgets/Tree.h:226
LBItemList d_listItems
list of items in the tree.
Definition: widgets/Tree.h:841
static const String EventBranchClosed
Definition: widgets/Tree.h:141
TreeItem * getLastSelectedItem(void) const
Return a pointer to the first selected item.
Definition: widgets/Tree.h:192
Base class for standard Tree widget.
Definition: widgets/Tree.h:74
static const String EventSelectionChanged
Definition: widgets/Tree.h:101
bool lbi_greater(const ListboxItem *a, const ListboxItem *b)
Helper function used in sorting to compare two list box item text strings via the ListboxItem pointer...
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Base class used as the argument to all subscribers Event object.
Definition: EventArgs.h:49
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:42
Scrollbar * d_vertScrollbar
vertical scroll-bar widget
Definition: widgets/Tree.h:837
Base class for tree items.
Definition: TreeItem.h:57
static const String EventNamespace
Namespace for global events.
Definition: widgets/Tree.h:83
static const String EventHorzScrollbarModeChanged
Definition: widgets/Tree.h:127
bool isMultiselectEnabled(void) const
return whether multi-select is enabled
Definition: widgets/Tree.h:245
static const String EventVertScrollbarModeChanged
Definition: widgets/Tree.h:120
size_t getItemCount(void) const
Return number of items attached to the tree.
Definition: widgets/Tree.h:161
bool d_forceVertScroll
true if vertical scrollbar should always be displayed
Definition: widgets/Tree.h:831
bool lbi_less(const ListboxItem *a, const ListboxItem *b)
Helper function used in sorting to compare two list box item text strings via the ListboxItem pointer...
virtual Scrollbar * createVertScrollbar(const String &name) const
create and return a pointer to a Scrollbar widget for use as vertical scroll bar. ...
Definition: widgets/Tree.h:623
static const String EventSortModeChanged
Definition: widgets/Tree.h:107
bool d_itemTooltips
true if each item should have an individual tooltip
Definition: widgets/Tree.h:835
bool d_sorted
true if tree is sorted
Definition: widgets/Tree.h:827
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:149
static const String EventMultiselectModeChanged
Definition: widgets/Tree.h:113
virtual void cacheTreeBaseImagery()
Perform caching of the widget control frame and other 'static' areas. This method should not render t...
Definition: widgets/Tree.h:650
TreeItem * d_lastSelected
holds pointer to the last selected item (used in range selections)
Definition: widgets/Tree.h:843
virtual Rectf getTreeRenderArea(void) const
Return a Rect object describing, in un-clipped pixels, the window relative area that is to be used fo...
Definition: widgets/Tree.h:609
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: Element.h:210
static const String EventBranchOpened
Definition: widgets/Tree.h:134
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: InputEvent.h:251
bool d_forceHorzScroll
true if horizontal scrollbar should always be displayed
Definition: widgets/Tree.h:833
EventArgs based class that is used for objects passed to input event handlers concerning mouse input...
Definition: InputEvent.h:280
bool d_multiselect
true if multi-select is enabled
Definition: widgets/Tree.h:829
Class that encapsulates a re-usable collection of imagery specifications.
Definition: ImagerySection.h:47
String class used within the GUI system.
Definition: String.h:62
virtual Scrollbar * createHorzScrollbar(const String &name) const
create and return a pointer to a Scrollbar widget for use as horizontal scroll bar.
Definition: widgets/Tree.h:637