0ad/source/gui
wraitii 8b08f4ae7a Change GUI settings to explicitly be member variables.
Completes work starting in D2313 / a33fd55e81:
- Make C++ mistakes where values can be changed without messages being
sent easier to notice / harder to do.
- Make the IGUISetting interface more flexible, allowing custom settings
implementing their own logic. This is used to clean up hotkey code
introduced in 33af6da5e1.

Side effects:
- FromJSVal_Vector clears the vector being passed in. I have some vague
memory of not doing that in D24 / 2bae30c454 as an optimisation, but it
seems more like a footgun to me.
- Most usage of SetSettingFromString is replaced by direct method calls,
as we can generally cast to the proper GUI object type. Where we can't,
it is kept as a poor's man virtual dispatch.
- It moves a few member variables elsewhere, e.g. TextOwner now gets its
own member variable settings.

Differential Revision: https://code.wildfiregames.com/D3892
This was SVN commit r25392.
2021-05-06 08:22:37 +00:00
..
ObjectBases Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
ObjectTypes Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
Scripting Implement FromJSVal<IObject*> safely 2021-04-30 13:20:43 +00:00
SettingTypes Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
tests De-singletonify CConfigDB, make hooks RAII. 2021-04-27 07:45:40 +00:00
CGUI.cpp Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
CGUI.h GUI cleanup: XML & child handling. 2021-05-04 15:17:50 +00:00
CGUIScrollBarVertical.cpp Cleanups CGUISprite, removes redundant method. 2021-03-31 19:26:05 +00:00
CGUIScrollBarVertical.h Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CGUISetting.cpp Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
CGUISetting.h Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
CGUISprite.cpp Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CGUISprite.h Cleanups CGUISprite, removes redundant method. 2021-03-31 19:26:05 +00:00
CGUIText.cpp Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
CGUIText.h Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
GUIManager.cpp Replace ScriptInterface::Call* with new ScriptFunction functions 2021-05-01 14:04:53 +00:00
GUIManager.h Removes unused containers included in headers. 2021-03-03 23:01:08 +00:00
GUIMatrix.cpp Move GetDefaultGuiMatrix to a separate file. 2019-08-04 03:52:00 +00:00
GUIMatrix.h Move GetDefaultGuiMatrix to a separate file. 2019-08-04 03:52:00 +00:00
GUIObjectTypes.cpp Add getTextSize() for CButton 2020-12-11 16:12:46 +00:00
GUIRenderer.cpp Draws GUI elements by Z order. 2021-04-11 11:27:53 +00:00
GUIRenderer.h Moves CRect from ps to maths to related geometric primitives. 2021-03-30 21:14:36 +00:00
GUIStringConversions.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
GUITooltip.cpp Change GUI settings to explicitly be member variables. 2021-05-06 08:22:37 +00:00
GUITooltip.h Generalize icon-specific tooltips to a tag, streamline code. 2021-05-01 12:38:05 +00:00
IGUIScrollBar.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
IGUIScrollBar.h Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
SGUIIcon.h Moves CSize into a separate file and renames it to CSize2D according to other geometric entities. 2021-03-27 16:08:06 +00:00
SGUIMessage.h Allow right-click on disabled buttons. 2020-11-14 18:16:24 +00:00
SGUIStyle.h Move GUIbase structs and enums to separate files. 2019-10-01 12:46:55 +00:00