43 #ifndef INCLUDED_IGUIOBJECT 44 #define INCLUDED_IGUIOBJECT 71 #define TYPE(T) GUIST_##T, 145 virtual bool MouseOver();
150 virtual bool MouseOverIcon();
158 const CStr&
GetName()
const {
return m_Name; }
161 void SetName(
const CStr& Name) { m_Name = Name; }
165 CStr GetPresentableName()
const;
204 vector_pObjects::iterator
begin() {
return m_Children.begin(); }
205 vector_pObjects::iterator
end() {
return m_Children.end(); }
221 bool SettingExists(
const CStr& Setting)
const;
228 virtual void UpdateCachedSize();
241 PSRETURN SetSetting(
const CStr& Setting,
const CStrW&
Value,
const bool& SkipMessage =
false);
259 void RegisterScriptHandler(
const CStr& Action,
const CStr& Code,
CGUI* pGUI);
264 JSObject* GetJSObject();
292 virtual void Destroy();
312 virtual void Draw() = 0;
332 void LoadStyle(
CGUI& GUIinstance,
const CStr& StyleName);
348 virtual float GetBufferedZ()
const;
350 void SetGUI(
CGUI*
const& pGUI);
363 UpdateMouseOver(NULL);
379 bool IsFocused()
const;
395 CPos GetMousePos()
const;
433 void ScriptEvent(
const CStr& Action);
442 void ScriptEvent(
const CStr& Action, JS::HandleValue Argument);
444 void SetScriptHandler(
const CStr& Action, JS::HandleObject Function);
454 void UpdateMouseOver(
IGUIObject*
const& pMouseOver);
475 void ChooseMouseOverAndClosest(
IGUIObject*& pObject);
480 bool IsRootObject()
const;
487 PSRETURN LogInvalidSettings(
const CStr8& Setting)
const;
489 static void Trace(JSTracer* trc,
void* data)
491 reinterpret_cast<IGUIObject*
>(data)->TraceMember(trc);
494 void TraceMember(JSTracer* trc);
510 double m_LastClickTime[6];
567 #endif // INCLUDED_IGUIOBJECT virtual void ResetStates()
Reset internal state of this object.
Definition: IGUIObject.h:360
#define UNUSED(param)
mark a function parameter as unused and avoid the corresponding compiler warning. ...
Definition: code_annotation.h:38
CGUI * m_pGUI
Definition: IGUIObject.h:542
Base class to only the class GUI.
Definition: GUIutil.h:59
Dummy object used primarily for the root object or objects of type 'empty'.
Definition: IGUIObject.h:556
std::map< CStr, JS::Heap< JSObject * > > m_ScriptHandlers
Definition: IGUIObject.h:545
IGUIObject * m_pParent
Definition: IGUIObject.h:507
Definition: XeroXMB.h:160
const CStr & GetName() const
Get object name, name is unique.
Definition: IGUIObject.h:158
EGUISettingType
Definition: IGUIObject.h:72
Base settings, all objects possess these settings in their m_BaseSettings Instructions can be found i...
Definition: IGUIObject.h:117
bool setProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id, bool strict, JS::MutableHandleValue vp)
Definition: JSInterface_IGUIObject.cpp:309
vector_pObjects::iterator end()
Definition: IGUIObject.h:205
static void Trace(JSTracer *trc, void *data)
Definition: IGUIObject.h:489
The main object that represents a whole GUI page.
Definition: CGUI.h:75
void * m_pSetting
Definition: IGUIObject.h:89
virtual bool HandleAdditionalChildren(const XMBElement &child, CXeromyces *pFile)
Handle additional children to the <object>-tag.
Definition: IGUIObject.h:405
virtual InReaction ManuallyHandleEvent(const SDL_Event_ *ev)
Some objects need to handle the SDL_Event_ manually.
Definition: IGUIObject.h:324
Includes static functions that needs one template argument.
Definition: GUIutil.h:89
vector_pObjects m_Children
Definition: IGUIObject.h:504
Config::Value_type Value
Definition: json_spirit_value.h:181
u32 PSRETURN
Definition: Errors.h:75
SGUISetting()
Definition: IGUIObject.h:87
void SetParent(IGUIObject *pParent)
Set parent of this object.
Definition: IGUIObject.h:355
std::map< CStr, SGUISetting > m_Settings
Settings pool, all an object's settings are located here If a derived object has got more settings th...
Definition: IGUIObject.h:538
bool getComputedSize(JSContext *cx, uint argc, jsval *vp)
Definition: JSInterface_IGUIObject.cpp:669
EGUIMessageType
Message types.
Definition: GUIbase.h:57
void SetName(const CStr &Name)
Get object name.
Definition: IGUIObject.h:161
CRect m_CachedActualSize
Cached size, real size m_Size is actually dependent on resolution and can have different real outcome...
Definition: IGUIObject.h:415
Made to represent screen positions and delta values.
Definition: Shapes.h:169
std::map< CStr, IGUIObject * > map_pObjects
Definition: GUIbase.h:139
const CGUI * GetGUI() const
Definition: IGUIObject.h:368
bool getProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id, JS::MutableHandleValue vp)
Definition: JSInterface_IGUIObject.cpp:56
virtual bool MouseOver()
Checks if mouse is hovering this object.
Definition: IGUIObject.h:564
Definition: Xeromyces.h:42
ERROR_TYPE(GUI, UnableToParse)
std::vector< IGUIObject * > vector_pObjects
Definition: GUIbase.h:140
CGUI * GetGUI()
Definition: IGUIObject.h:367
unsigned int uint
Definition: types.h:42
A GUI Setting is anything that can be inputted from XML as <object>-attributes (with exceptions)...
Definition: IGUIObject.h:85
void Draw(DrawCalls &Calls, float Z)
Definition: GUIRenderer.cpp:345
bool m_MouseHovering
This is an array of true or false, each element is associated with a string representing a setting...
Definition: IGUIObject.h:527
CStr m_Name
Definition: IGUIObject.h:500
EGUISettingType m_Type
Definition: IGUIObject.h:90
Message send to IGUIObject::HandleMessage() in order to give life to Objects manually with a derived ...
Definition: GUIbase.h:91
vector_pObjects::iterator begin()
Definition: IGUIObject.h:204
virtual void HandleMessage(SGUIMessage &Message)
This function is called with different messages for instance when the mouse enters the object...
Definition: IGUIObject.h:301
Contains a list of values for new defaults to objects.
Definition: CGUI.h:52
JS::PersistentRootedObject m_JSObject
Definition: IGUIObject.h:548
#define GUI_OBJECT(obj)
Definition: GUIbase.h:48
virtual void Draw()
Draws the object.
Definition: IGUIObject.h:562
Rectangle class used for screen rectangles.
Definition: Shapes.h:73