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(); }
161 size_t getItemCount(
void)
const
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;
226 bool isSortEnabled(
void)
const
229 void setItemRenderArea(
Rectf& r)
232 Scrollbar* getVertScrollbar()
233 {
return d_vertScrollbar; }
235 Scrollbar* getHorzScrollbar()
236 {
return d_horzScrollbar; }
245 bool isMultiselectEnabled(
void)
const
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);
609 virtual Rectf getTreeRenderArea(
void)
const
610 {
return d_itemArea; }
624 {
return static_cast<Scrollbar*
>(getChild(name)); }
638 {
return static_cast<Scrollbar*
>(getChild(name)); }
650 virtual void cacheTreeBaseImagery()
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_