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;
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);
300 void handleUpdatedItemData(
bool resort=
false);
313 void setAutoResizeEnabled(
bool setting);
333 virtual void endInitialisation(
void);
346 virtual void performChildWindowLayout(
void);
358 Rect getItemRenderArea(
void)
const;
388 void setSortEnabled(
bool setting);
396 void setSortMode(SortMode mode);
405 void setSortCallback(SortCallback cb);
418 void sortList(
bool relayout=
true);
450 virtual void sizeToContent_impl(
void);
460 virtual Size getContentSize()
const = 0;
482 virtual void layoutItemWidgets() = 0;
499 bool resetList_impl(
void);
511 virtual bool testClassName_impl(
const String& class_name)
const
513 if (class_name==
"ItemListBase")
return true;
518 virtual bool validateWindowRenderer(
const String& name)
const
520 return (name == EventNamespace);
527 SortCallback getRealSortCallback(
void)
const;
561 typedef std::vector<ItemEntry*> ItemEntryList;
562 ItemEntryList d_listItems;
575 SortCallback d_sortCallback;
590 void addItemListBaseProperties(
void);
597 virtual void addChild_impl(
Window* wnd);
604 bool handle_PaneChildRemoved(
const EventArgs& e);
610 #if defined(_MSC_VER)
611 # pragma warning(pop)
614 #endif // end of guard _CEGUIItemListBase_h_