Crazy Eddie's GUI System  0.8.5
CEGUI::FalagardListbox Class Reference

Listbox class for the FalagardBase module. More...

+ Inheritance diagram for CEGUI::FalagardListbox:
+ Collaboration diagram for CEGUI::FalagardListbox:

Public Member Functions

 FalagardListbox (const String &type)
 Constructor.
 
void cacheListboxBaseImagery ()
 Perform caching of the widget control frame and other 'static' areas. This method should not render the actual items. Note that the items are typically rendered to layer 3, other layers can be used for rendering imagery behind and infront of the items. More...
 
void render ()
 Populate render cache. More...
 
Rectf getListRenderArea (void) const
 Return a Rect object describing, in un-clipped pixels, the window relative area that is to be used for rendering list items.
 
void resizeListToContent (bool fit_width, bool fit_height) const
 
bool handleFontRenderSizeChange (const Font *const font)
 Perform any updates needed because the given font's render size has changed. More...
 
- Public Member Functions inherited from CEGUI::ListboxWindowRenderer
 ListboxWindowRenderer (const String &name)
 Constructor.
 
- Public Member Functions inherited from CEGUI::WindowRenderer
 WindowRenderer (const String &name, const String &class_name="Window")
 Constructor. More...
 
virtual ~WindowRenderer ()
 Destructor.
 
const StringgetName () const
 Returns the factory type name of this window renderer.
 
WindowgetWindow () const
 Get the window this windowrenderer is attached to.
 
const StringgetClass () const
 Get the "minimum" Window class this renderer requires.
 
const WidgetLookFeelgetLookNFeel () const
 Get the Look'N'Feel assigned to our window.
 
virtual Rectf getUnclippedInnerRect () const
 Get unclipped inner rectangle that our window should return from its member function with the same name.
 
virtual void performChildWindowLayout ()
 Method called to perform extended laying out of the window's attached child windows.
 
virtual void getRenderingContext (RenderingContext &ctx) const
 update the RenderingContext as needed for our window. This is normally invoked via our window's member function with the same name.
 
virtual void update (float)
 perform any time based updates for this WindowRenderer.
 

Static Public Attributes

static const String TypeName
 type name for this widget.
 

Protected Member Functions

Rectf getItemRenderingArea (bool hscroll, bool vscroll) const
 
- Protected Member Functions inherited from CEGUI::WindowRenderer
void registerProperty (Property *property, const bool ban_from_xml)
 Register a property class that will be properly managed by this window renderer. More...
 
void registerProperty (Property *property)
 Register a property class that will be properly managed by this window renderer. More...
 
virtual void onAttach ()
 Handler called when this windowrenderer is attached to a window.
 
virtual void onDetach ()
 Handler called when this windowrenderer is detached from its window.
 
virtual void onLookNFeelAssigned ()
 Handler called when a Look'N'Feel is assigned to our window.
 
virtual void onLookNFeelUnassigned ()
 Handler called when a Look'N'Feel is removed/unassigned from our window.
 

Additional Inherited Members

- Protected Types inherited from CEGUI::WindowRenderer
typedef std::pair< Property *, bool > PropertyEntry
 type used for entries in the PropertyList.
 
typedef std::vector< PropertyEntry CEGUI_VECTOR_ALLOC(PropertyEntry)> PropertyList
 type to use for the property list.
 
- Protected Attributes inherited from CEGUI::WindowRenderer
Windowd_window
 Pointer to the window this windowrenderer is assigned to.
 
const String d_name
 Name of the factory type used to create this window renderer.
 
const String d_class
 Name of the widget class that is the "minimum" requirement.
 
PropertyList d_properties
 The list of properties that this windowrenderer will be handling.
 

Detailed Description

Listbox class for the FalagardBase module.

This class requires LookNFeel to be assigned. The LookNFeel should provide the following:

States:

  • Enabled
  • Disabled

Named Areas:

  • ItemRenderingArea
  • ItemRenderingAreaHScroll
  • ItemRenderingAreaVScroll
  • ItemRenderingAreaHVScroll
  • - OR -
  • ItemRenderArea
  • ItemRenderAreaHScroll
  • ItemRenderAreaVScroll
  • ItemRenderAreaHVScroll

Child Widgets: Scrollbar based widget with name suffix "__auto_vscrollbar__" Scrollbar based widget with name suffix "__auto_hscrollbar__"

Member Function Documentation

void CEGUI::FalagardListbox::cacheListboxBaseImagery ( )

Perform caching of the widget control frame and other 'static' areas. This method should not render the actual items. Note that the items are typically rendered to layer 3, other layers can be used for rendering imagery behind and infront of the items.

Returns
Nothing.
bool CEGUI::FalagardListbox::handleFontRenderSizeChange ( const Font *const  font)
virtual

Perform any updates needed because the given font's render size has changed.

/note This base implementation deals with updates needed for various definitions in the assigned widget look. If you override, you should generally always call this base class implementation.

Parameters
fontPointer to the Font whose render size has changed.
Returns
  • true if some action was taken.
  • false if no action was taken (i.e font is not used here).

Reimplemented from CEGUI::WindowRenderer.

void CEGUI::FalagardListbox::render ( )
virtual

Populate render cache.

This method must be implemented by all window renderers and should perform the rendering operations needed for this widget. Normally using the Falagard API...

Implements CEGUI::WindowRenderer.

void CEGUI::FalagardListbox::resizeListToContent ( bool  fit_width,
bool  fit_height 
) const
virtual

Resize the Listbox the renderer is attached to such that it's content can be displayed without needing scrollbars if there is enough space, otherwise make the Listbox as large as possible (without moving it).

Implements CEGUI::ListboxWindowRenderer.