Pyrogenesis  trunk
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
IGUIButtonBehavior Class Reference

Appends button behaviours to the IGUIObject. More...

#include <IGUIButtonBehavior.h>

Inheritance diagram for IGUIButtonBehavior:
Inheritance graph
[legend]
Collaboration diagram for IGUIButtonBehavior:
Collaboration graph
[legend]

Public Member Functions

 IGUIButtonBehavior ()
 
virtual ~IGUIButtonBehavior ()
 
virtual void HandleMessage (SGUIMessage &Message)
 
void DrawButton (const CRect &rect, const float &z, CGUISpriteInstance &sprite, CGUISpriteInstance &sprite_over, CGUISpriteInstance &sprite_pressed, CGUISpriteInstance &sprite_disabled, int cell_id)
 This is a function that lets a button being drawn, it regards if it's over, disabled, pressed and such. More...
 
CColor ChooseColor ()
 Choosing which color of the following according to object enabled/hovered/pressed status: textcolor_disabled – disabled textcolor_pressed – pressed textcolor_over – hovered. More...
 
- Public Member Functions inherited from IGUIObject
 IGUIObject ()
 
virtual ~IGUIObject ()
 
virtual bool MouseOver ()
 Checks if mouse is hovering this object. More...
 
virtual bool MouseOverIcon ()
 Test if mouse position is over an icon. More...
 
const CStr & GetName () const
 Get object name, name is unique. More...
 
void SetName (const CStr &Name)
 Get object name. More...
 
CStr GetPresentableName () const
 
void AddToPointersMap (map_pObjects &ObjectMap)
 Adds object and its children to the map, it's name being the first part, and the second being itself. More...
 
void AddChild (IGUIObject *pChild)
 Notice nothing will be returned or thrown if the child hasn't been inputted into the GUI yet. More...
 
vector_pObjects::iterator begin ()
 
vector_pObjects::iterator end ()
 
bool SettingExists (const CStr &Setting) const
 Checks if settings exists, only available for derived classes that has this set up, that's why the base class just returns false. More...
 
virtual void UpdateCachedSize ()
 All sizes are relative to resolution, and the calculation is not wanted in real time, therefore it is cached, update the cached size with this function. More...
 
PSRETURN SetSetting (const CStr &Setting, const CStrW &Value, const bool &SkipMessage=false)
 Set a setting by string, regardless of what type it is. More...
 
PSRETURN GetSettingType (const CStr &Setting, EGUISettingType &Type) const
 Retrieves the type of a named setting. More...
 
void RegisterScriptHandler (const CStr &Action, const CStr &Code, CGUI *pGUI)
 Set the script handler for a particular object-specific action. More...
 
JSObject * GetJSObject ()
 Retrieves the JSObject representing this GUI object. More...
 
CGUIGetGUI ()
 
const CGUIGetGUI () const
 
void SetFocus ()
 Take focus! More...
 

Protected Member Functions

virtual void ResetStates ()
 
- Protected Member Functions inherited from IGUIObject
void AddSetting (const EGUISettingType &Type, const CStr &Name)
 Add a setting to m_Settings. More...
 
virtual void Destroy ()
 Calls Destroy on all children, and deallocates all memory. More...
 
virtual void Draw ()=0
 Draws the object. More...
 
virtual InReaction ManuallyHandleEvent (const SDL_Event_ *ev)
 Some objects need to handle the SDL_Event_ manually. More...
 
void LoadStyle (CGUI &GUIinstance, const CStr &StyleName)
 Loads a style. More...
 
void LoadStyle (const SGUIStyle &Style)
 Loads a style. More...
 
virtual float GetBufferedZ () const
 Returns not the Z value, but the actual buffered Z value, i.e. More...
 
void SetGUI (CGUI *const &pGUI)
 
void SetParent (IGUIObject *pParent)
 Set parent of this object. More...
 
bool IsFocused () const
 Check if object is focused. More...
 
IGUIObjectGetParent () const
 NOTE! This will not just return m_pParent, when that is need use it! There is one exception to it, when the parent is the top-node (the object that isn't a real object), this will return NULL, so that the top-node's children are seemingly parentless. More...
 
CPos GetMousePos () const
 Get Mouse from CGUI. More...
 
virtual bool HandleAdditionalChildren (const XMBElement &child, CXeromyces *pFile)
 Handle additional children to the <object>-tag. More...
 
InReaction SendEvent (EGUIMessageType type, const CStr &EventName)
 Send event to this GUI object (HandleMessage and ScriptEvent) More...
 
void ScriptEvent (const CStr &Action)
 Execute the script for a particular action. More...
 
void ScriptEvent (const CStr &Action, JS::HandleValue Argument)
 Execute the script for a particular action. More...
 
void SetScriptHandler (const CStr &Action, JS::HandleObject Function)
 
void UpdateMouseOver (IGUIObject *const &pMouseOver)
 Inputes the object that is currently hovered, this function updates this object accordingly (i.e. More...
 

Protected Attributes

bool m_Pressed
 Everybody knows how a button works, you don't simply press it, you have to first press the button, and then release it... More...
 
bool m_PressedRight
 
- Protected Attributes inherited from IGUIObject
CRect m_CachedActualSize
 Cached size, real size m_Size is actually dependent on resolution and can have different real outcomes, this is the real outcome cached to avoid slow calculations in real time. More...
 
CStr m_Name
 
vector_pObjects m_Children
 
IGUIObjectm_pParent
 
double m_LastClickTime [6]
 
bool m_MouseHovering
 This is an array of true or false, each element is associated with a string representing a setting. More...
 

Additional Inherited Members

- Public Attributes inherited from IGUIObject
std::map< CStr, SGUISettingm_Settings
 Settings pool, all an object's settings are located here If a derived object has got more settings that the base settings, it's because they have a new version of the function SetupSettings(). More...
 

Detailed Description

Appends button behaviours to the IGUIObject.

Can be used with multiple inheritance alongside IGUISettingsObject and such.

See also
IGUIObject

Constructor & Destructor Documentation

IGUIButtonBehavior::IGUIButtonBehavior ( )
IGUIButtonBehavior::~IGUIButtonBehavior ( )
virtual

Member Function Documentation

CColor IGUIButtonBehavior::ChooseColor ( )

Choosing which color of the following according to object enabled/hovered/pressed status: textcolor_disabled – disabled textcolor_pressed – pressed textcolor_over – hovered.

void IGUIButtonBehavior::DrawButton ( const CRect rect,
const float &  z,
CGUISpriteInstance sprite,
CGUISpriteInstance sprite_over,
CGUISpriteInstance sprite_pressed,
CGUISpriteInstance sprite_disabled,
int  cell_id 
)

This is a function that lets a button being drawn, it regards if it's over, disabled, pressed and such.

You input sprite names and area and it'll output it accordingly.

This class is meant to be used manually in Draw()

Parameters
rectRectangle in which the sprite should be drawn
zZ-value
spriteSprite drawn when not pressed, hovered or disabled
sprite_overSprite drawn when m_MouseHovering is true
sprite_pressedSprite drawn when m_Pressed is true
sprite_disabledSprite drawn when "enabled" is false
cell_idIdentifies the icon to be used (if the sprite contains cell-using images)
void IGUIButtonBehavior::HandleMessage ( SGUIMessage Message)
virtual
See also
IGUIObject::HandleMessage()

Reimplemented from IGUIObject.

Reimplemented in CCheckBox, CButton, and CRadioButton.

virtual void IGUIButtonBehavior::ResetStates ( )
inlineprotectedvirtual
See also
IGUIObject::ResetStates()

Reimplemented from IGUIObject.

Reimplemented in CCheckBox, and CButton.

Member Data Documentation

bool IGUIButtonBehavior::m_Pressed
protected

Everybody knows how a button works, you don't simply press it, you have to first press the button, and then release it...

in between those two steps you can actually leave the button area, as long as you release it within the button area... Anyway this lets us know we are done with step one (clicking).

bool IGUIButtonBehavior::m_PressedRight
protected

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