I'm in love with ItemListBox but for my own purposes I was after a bit of extra functionality. I added these and I was wondering if you would like them (in one form or another) for the main source.
I added the following properties:
"Orientation" (set to "Vertical" or "Horizontal") - Modifies the orientation of the listbox between vertical (like it is now) and horizontal.
"FixedItemSize" (a UVector2 value) - Overwrites the size of all ItemEntry items (as defined per ItemEntry by the "ContentSize" named area from the looknfeel) to your own preference. It takes a standard UVector2 string, ie: {{relative_width, offset_width},{relative_height, offset_height}}. If you only want to fix the width or hight and not both, set the other to {0,0}.
"MultiItemPerLine" (a bool value) - If this is set to Yes/True, then it will pack multiple ItemEntry items into each "row" for a vertical orientation, or each "column" for a horizontal orientation. Similar to how Windows Explorer works in "Icons" or "Thumbnails" view modes. This isn't really like a MultiColumnList, even if is sounds and in some ways looks like one.
This has so far meant updating CEGUIItemListbox.h/.cpp, CEGUIItemListboxProperties.h/.cpp and a small change in CEGUIScrolledItemListBase.cpp.
I originally faked some of this using regular lua, but it added a bit of overhead to what I was doing and using properties in a layout file is just so much nicer.
I'd also like to expand on the sorting so you can tell it to sort on properties other than the "text" value, as well as UserTextStrings, and to also have the option of sorting numbers as numbers rather than as strings.
A screen shot with a vertical list on the left, horizontal on the right, both with MultiItemPerLine turned on along with a FixedItemSize:
![Image](http://a.imageshack.us/img267/9460/ceguimessage.th.jpg)
(I need to get a more interesting screenshot.)
Cheers.
PS: Thanks for providing such a wonderful library
![Very Happy :D](./images/smilies/icon_biggrin.gif)