30 #ifndef _CEGUIItemListBase_h_
31 #define _CEGUIItemListBase_h_
33 #include "../CEGUIBase.h"
34 #include "../CEGUIWindow.h"
35 #include "CEGUIItemListBaseProperties.h"
36 #include "CEGUIItemEntry.h"
42 # pragma warning(push)
43 # pragma warning(disable : 4251)
73 virtual Rect getItemRenderArea(
void)
const = 0;
147 ItemEntry* getItemFromIndex(
size_t index)
const;
162 size_t getItemIndex(
const ItemEntry* item)
const;
192 bool isItemInList(
const ItemEntry* item)
const;
238 virtual void initialiseComponents(
void);
247 void resetList(
void);
315 void handleUpdatedItemData(
bool resort=
false);
328 void setAutoResizeEnabled(
bool setting);
348 virtual void endInitialisation(
void);
361 virtual void performChildWindowLayout(
void);
373 Rect getItemRenderArea(
void)
const;
403 void setSortEnabled(
bool setting);
411 void setSortMode(SortMode mode);
420 void setSortCallback(SortCallback cb);
433 void sortList(
bool relayout=
true);
465 virtual void sizeToContent_impl(
void);
475 virtual Size getContentSize()
const = 0;
497 virtual void layoutItemWidgets() = 0;
514 bool resetList_impl(
void);
526 virtual bool testClassName_impl(
const String& class_name)
const
528 if (class_name==
"ItemListBase")
return true;
533 virtual bool validateWindowRenderer(
const String& name)
const
535 return (name == EventNamespace);
542 SortCallback getRealSortCallback(
void)
const;
576 typedef std::vector<ItemEntry*> ItemEntryList;
577 ItemEntryList d_listItems;
590 SortCallback d_sortCallback;
605 void addItemListBaseProperties(
void);
612 virtual void addChild_impl(
Window* wnd);
619 bool handle_PaneChildRemoved(
const EventArgs& e);
625 #if defined(_MSC_VER)
626 # pragma warning(pop)
629 #endif // end of guard _CEGUIItemListBase_h_