30 #ifndef _CEGUIItemListBase_h_
31 #define _CEGUIItemListBase_h_
33 #include "CEGUIBase.h"
34 #include "CEGUIWindow.h"
35 #include "elements/CEGUIItemListBaseProperties.h"
36 #include "elements/CEGUIItemEntry.h"
42 # pragma warning(push)
43 # pragma warning(disable : 4251)
73 virtual Rect getItemRenderArea(
void)
const = 0;
132 ItemEntry* getItemFromIndex(
size_t index)
const;
147 size_t getItemIndex(
const ItemEntry* item)
const;
177 bool isItemInList(
const ItemEntry* item)
const;
223 virtual void initialiseComponents(
void);
232 void resetList(
void);
298 void handleUpdatedItemData(
bool resort=
false);
311 void setAutoResizeEnabled(
bool setting);
331 virtual void endInitialisation(
void);
344 virtual void performChildWindowLayout(
void);
356 Rect getItemRenderArea(
void)
const;
386 void setSortEnabled(
bool setting);
394 void setSortMode(SortMode mode);
403 void setSortCallback(SortCallback cb);
416 void sortList(
bool relayout=
true);
448 virtual void sizeToContent_impl(
void);
458 virtual Size getContentSize()
const = 0;
480 virtual void layoutItemWidgets() = 0;
497 bool resetList_impl(
void);
509 virtual bool testClassName_impl(
const String& class_name)
const
511 if (class_name==
"ItemListBase")
return true;
516 virtual bool validateWindowRenderer(
const String& name)
const
518 return (name == EventNamespace);
525 SortCallback getRealSortCallback(
void)
const;
558 typedef std::vector<ItemEntry*> ItemEntryList;
559 ItemEntryList d_listItems;
572 SortCallback d_sortCallback;
587 void addItemListBaseProperties(
void);
594 virtual void addChild_impl(
Window* wnd);
601 bool handle_PaneChildRemoved(
const EventArgs& e);
607 #if defined(_MSC_VER)
608 # pragma warning(pop)
611 #endif // end of guard _CEGUIItemListBase_h_