From a08cbd2f749a20f60a76e2644505b557b5c00e29 Mon Sep 17 00:00:00 2001 From: Gee Date: Sat, 27 Dec 2003 07:23:47 +0000 Subject: [PATCH] vc6 mods This was SVN commit r144. --- source/gui/GUIutil.cpp | 10 ++++++++++ source/gui/GUIutil.h | 22 ++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/source/gui/GUIutil.cpp b/source/gui/GUIutil.cpp index b2e3dfdc96..ac0723c933 100755 --- a/source/gui/GUIutil.cpp +++ b/source/gui/GUIutil.cpp @@ -176,3 +176,13 @@ void CInternalCGUIAccessorBase::QueryResetting(IGUIObject *pObject) { GUI<>::RecurseObject(0, pObject, &IGUIObject::ResetStates); } + +void * CInternalCGUIAccessorBase::GetStructPointer(IGUIObject *pObject, const EGUISettingsStruct &SettingsStruct) +{ + return pObject->GetStructPointer(SettingsStruct); +} + +void CInternalCGUIAccessorBase::HandleMessage(IGUIObject *pObject, const SGUIMessage &message) +{ + pObject->HandleMessage(message); +} diff --git a/source/gui/GUIutil.h b/source/gui/GUIutil.h index cd34d397a6..7f80304ff3 100755 --- a/source/gui/GUIutil.h +++ b/source/gui/GUIutil.h @@ -113,7 +113,8 @@ class IGUIObject; * Base class to only the class GUI. This superclass is * kind of a templateless extention of the class GUI. * Used for other functions to friend with, because it - * it can't friend with GUI since it's templated. + * it can't friend with GUI since it's templated (at least + * not on all compilers we're using). */ class CInternalCGUIAccessorBase { @@ -126,6 +127,10 @@ protected: /// Wrapper for ResetStates static void QueryResetting(IGUIObject *pObject); + + static void * GetStructPointer(IGUIObject *pObject, const EGUISettingsStruct &SettingsStruct); + + static void HandleMessage(IGUIObject *pObject, const SGUIMessage &message); }; @@ -164,7 +169,9 @@ public: // Set value Value = - *(T*)((size_t)pObject->GetStructPointer(pObject->GetSettingsInfo()[Setting].m_SettingsStruct) + + // *(T*)((size_t)pObject->GetStructPointer(pObject->GetSettingsInfo()[Setting].m_SettingsStruct) + + // pObject->GetSettingsInfo()[Setting].m_Offset); + *(T*)((size_t)GetStructPointer(pObject, pObject->GetSettingsInfo()[Setting].m_SettingsStruct) + pObject->GetSettingsInfo()[Setting].m_Offset); return PS_OK; @@ -189,7 +196,9 @@ public: return PS_SETTING_FAIL; // Set value - *(T*)((size_t)pObject->GetStructPointer(pObject->GetSettingsInfo()[Setting].m_SettingsStruct) + + //*(T*)((size_t)pObject->GetStructPointer(pObject->GetSettingsInfo()[Setting].m_SettingsStruct) + + // pObject->GetSettingsInfo()[Setting].m_Offset) = Value; + *(T*)((size_t)GetStructPointer(pObject, pObject->GetSettingsInfo()[Setting].m_SettingsStruct) + pObject->GetSettingsInfo()[Setting].m_Offset) = Value; @@ -198,19 +207,20 @@ public: // // If setting was "size", we need to re-cache itself and all children - if (Setting == CStr(_T("size"))) + if (Setting == CStr("size")) { RecurseObject(0, pObject, &IGUIObject::UpdateCachedSize); } else - if (Setting == CStr(_T("hidden"))) + if (Setting == CStr("hidden")) { // Hiding an object requires us to reset it and all children QueryResetting(pObject); //RecurseObject(0, pObject, IGUIObject::ResetStates); } - pObject->HandleMessage(SGUIMessage(GUIM_SETTINGS_UPDATED, Setting)); + //pObject->HandleMessage(SGUIMessage(GUIM_SETTINGS_UPDATED, Setting)); + HandleMessage(pObject, SGUIMessage(GUIM_SETTINGS_UPDATED, Setting)); return PS_OK; }