Cafu Engine
cf::GuiSys::ComponentChoiceT Class Reference

This components add the behaviour of a choice field to its window. More...

#include "CompChoice.hpp"

Inheritance diagram for cf::GuiSys::ComponentChoiceT:

Public Member Functions

 ComponentChoiceT ()
 The constructor. More...
 
 ComponentChoiceT (const ComponentChoiceT &Comp)
 The copy constructor. More...
 
ComponentChoiceTClone () const
 The virtual copy constructor. More...
 
const char * GetName () const
 Returns the name of this component. More...
 
void UpdateDependencies (WindowT *Window)
 This method is called whenever something "external" to this component has changed: More...
 
void OnPostLoad (bool OnlyStatic)
 This method is called after all windows and their components have been loaded. More...
 
bool OnInputEvent (const CaKeyboardEventT &KE)
 This method handles keyboard input events. More...
 
bool OnInputEvent (const CaMouseEventT &ME, float PosX, float PosY)
 This method handles mouse input events. More...
 
const cf::TypeSys::TypeInfoTGetType () const
 
- Public Member Functions inherited from cf::GuiSys::ComponentBaseT
 ComponentBaseT ()
 The constructor. More...
 
 ComponentBaseT (const ComponentBaseT &Comp)
 The copy constructor. More...
 
virtual ~ComponentBaseT ()
 The virtual destructor. More...
 
WindowTGetWindow () const
 Returns the parent window that contains this component, or NULL if this component is currently not a part of any window. More...
 
TypeSys::VarManTGetMemberVars ()
 Returns the variable manager that keeps generic references to our member variables, providing a simple kind of "reflection" or "type introspection" feature. More...
 
bool CallLuaMethod (const char *MethodName, const char *Signature="",...)
 Calls the given Lua method of this component. More...
 
virtual void Render () const
 This method implements the graphical output of this component. More...
 
virtual void OnClockTickEvent (float t)
 This method handles clock-tick events. More...
 
- Public Member Functions inherited from RefCountedT
unsigned int GetRefCount () const
 

Static Public Member Functions

static void * CreateInstance (const cf::TypeSys::CreateParamsT &Params)
 
- Static Public Member Functions inherited from cf::GuiSys::ComponentBaseT
static void * CreateInstance (const cf::TypeSys::CreateParamsT &Params)
 

Static Public Attributes

static const cf::TypeSys::TypeInfoT TypeInfo
 
- Static Public Attributes inherited from cf::GuiSys::ComponentBaseT
static const cf::TypeSys::TypeInfoT TypeInfo
 

Static Protected Member Functions

static int Set (lua_State *LuaState)
 
static int GetSelItem (lua_State *LuaState)
 
static int toString (lua_State *LuaState)
 
- Static Protected Member Functions inherited from cf::GuiSys::ComponentBaseT
static int Get (lua_State *LuaState)
 
static int Set (lua_State *LuaState)
 
static int GetExtraMessage (lua_State *LuaState)
 
static int Interpolate (lua_State *LuaState)
 
static int toString (lua_State *LuaState)
 

Static Protected Attributes

static const luaL_Reg MethodsList []
 The list of Lua methods for this class. More...
 
static const char * DocClass
 
static const cf::TypeSys::MethsDocT DocMethods []
 
static const cf::TypeSys::MethsDocT DocCallbacks []
 
static const cf::TypeSys::VarsDocT DocVars []
 
- Static Protected Attributes inherited from cf::GuiSys::ComponentBaseT
static const luaL_Reg MethodsList []
 The list of Lua methods for this class. More...
 
static const char * DocClass
 
static const cf::TypeSys::MethsDocT DocMethods []
 

Additional Inherited Members

- Protected Member Functions inherited from RefCountedT
 RefCountedT (const RefCountedT &)
 
RefCountedToperator= (const RefCountedT &)
 

Detailed Description

This components add the behaviour of a choice field to its window.

It requires that the window also has a text component, whose value it updates according to user interaction to one of the available choices.

Constructor & Destructor Documentation

ComponentChoiceT::ComponentChoiceT ( )

The constructor.

ComponentChoiceT::ComponentChoiceT ( const ComponentChoiceT Comp)

The copy constructor.

Parameters
CompThe component to create a copy of.

Member Function Documentation

ComponentChoiceT * ComponentChoiceT::Clone ( ) const
virtual

The virtual copy constructor.

Callers can use this method to create a copy of this component without knowing its concrete type. Overrides in derived classes use a covariant return type to facilitate use when the concrete type is known. The newly cloned component is initially not a part of any window, even if the source component was.

Reimplemented from cf::GuiSys::ComponentBaseT.

const char* cf::GuiSys::ComponentChoiceT::GetName ( ) const
inlinevirtual

Returns the name of this component.

Reimplemented from cf::GuiSys::ComponentBaseT.

bool ComponentChoiceT::OnInputEvent ( const CaKeyboardEventT KE)
virtual

This method handles keyboard input events.

Parameters
KEKeyboard event instance.
Returns
Whether the component handled ("consumed") the event.

Reimplemented from cf::GuiSys::ComponentBaseT.

bool ComponentChoiceT::OnInputEvent ( const CaMouseEventT ME,
float  PosX,
float  PosY 
)
virtual

This method handles mouse input events.

Parameters
MEMouse event instance.
PosXx-coordinate of the mouse cursor position.
PosYy-coordinate of the mouse cursor position.
Returns
Whether the component handled ("consumed") the event.

Reimplemented from cf::GuiSys::ComponentBaseT.

void ComponentChoiceT::OnPostLoad ( bool  OnlyStatic)
virtual

This method is called after all windows and their components have been loaded.

It is called only once when the static part of GUI initializatzion is complete, i.e. after the initial values of all windows and their components have been set. Components can override this method in order act / do something / add custom behaviour at that time.

For example, a choice component can use it to set the associated text component to the initial selection, a script component can forward it to the script by calling a related script function, a component that for backwards-compatibility supports reading old variables can convert to new ones, etc.

Parameters
OnlyStatictrue if only the loading of static data is desired, e.g. when the world is instantiated in the GUI Editor, false if also user-defined scripts with custom, initial behaviour should be loaded.

Reimplemented from cf::GuiSys::ComponentBaseT.

void ComponentChoiceT::UpdateDependencies ( WindowT Window)
virtual

This method is called whenever something "external" to this component has changed:

  • if the parent window has changed, because this component was added to or removed from it,
  • if other components in the parent window have changed. The component can use the opportunity to search the window for "sibling" components that it depends on, and store direct pointers to them. Note however that dependencies among components must not be cyclic, or else the deletion of a window will leave a memory leak.
    Parameters
    WindowThe parent window that contains this component, or NULL to indicate that this component is removed from the window that it used to be a part of.

Reimplemented from cf::GuiSys::ComponentBaseT.

Member Data Documentation

const cf::TypeSys::MethsDocT ComponentChoiceT::DocCallbacks
staticprotected
Initial value:
=
{
{ "OnSelectionChanged",
"This method is called when the choice's selection has changed.",
"", "" },
{ NULL, NULL, NULL, NULL }
}
const char * ComponentChoiceT::DocClass
staticprotected
Initial value:
=
"This components add the behaviour of a choice field to its window.\n"
"It requires that the window also has a text component, whose value it\n"
"updates according to user interaction to one of the available choices."
const cf::TypeSys::MethsDocT ComponentChoiceT::DocMethods
staticprotected
Initial value:
=
{
META_Set,
META_GetSelItem,
META_toString,
{ NULL, NULL, NULL, NULL }
}
const cf::TypeSys::VarsDocT ComponentChoiceT::DocVars
staticprotected
Initial value:
=
{
{ "Choices", "The list of available choices." },
{ "Selection", "The index number of the currently selected choice, where 1 corresponds to the first choice (as per Lua convention). Use 0 for \"no selection\"." },
{ NULL, NULL }
}
const luaL_Reg ComponentChoiceT::MethodsList
staticprotected
Initial value:
=
{
{ "set", Set },
{ "GetSelItem", GetSelItem },
{ "__tostring", toString },
{ NULL, NULL }
}

The list of Lua methods for this class.


The documentation for this class was generated from the following files: