0ad/source/gui/ObjectTypes
wraitii fc60d80af1 Simplify GUI Proxy implementation & customisation.
This finishes 7c04ea0211 and 1b67a079fb.
GUI Proxy objects are now easier to specialize, code duplication is
reduced, code is made safer.
In details:
- the proxy private is always the IGUIObject* pointer
- the private data is accessed through a safer wrapper
- CreateJSObject returns an opaque type to allow easier extension &
prevent errors.
- The implementation of CreateJSObject is moved near the GUI Proxy
template instantiation, and both are wrapped in a convenient macro (this
makes it so that if you use the macro, you can't forget to overload the
method, and vice-versa).
- The common IGUIObject JS interface no longer needs to be repeated.
- All specialisations are again put in the same file, for improved
compile-time & clarity, given there are so few lines now.
- While at it, implement toSource which makes it possible to `uneval`
components (does the same as toString though).


Differential Revision: https://code.wildfiregames.com/D3826
This was SVN commit r25225.
2021-04-09 18:01:47 +00:00
..
CButton.cpp Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
CButton.h Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
CChart.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CChart.h Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CCheckBox.cpp Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CCheckBox.h Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CDropDown.cpp Cleanups CGUISprite, removes redundant method. 2021-03-31 19:26:05 +00:00
CDropDown.h Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CGUIDummyObject.h
CHotkeyPicker.cpp Fix usage of remove_if in CHotkeyPicker 2020-12-11 10:02:05 +00:00
CHotkeyPicker.h Further header & precompiled cleanup, fix no-PCH builds. 2020-12-09 14:39:14 +00:00
CImage.cpp Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CImage.h Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CInput.cpp Further hotkey work: clear hotkeys when an input box/the console gets focus. 2021-04-03 20:12:40 +00:00
CInput.h Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CList.cpp Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
CList.h Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
CMiniMap.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CMiniMap.h Adds a LOS mask to Minimap. 2020-11-08 08:51:54 +00:00
COList.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
COList.h Remove counterproductive lowercasing of GUI ScriptEvent names, refs #127. 2020-01-15 16:00:37 +00:00
CProgressBar.cpp Removes unused and limited cell sprite functionality. 2021-03-27 11:38:34 +00:00
CProgressBar.h Rename CProgressBar numeric "caption" setting to "progress" to distinguish it from the Button, Input, Text and Tooltip "caption" setting values that are tag-formatted texts. 2019-11-12 16:53:19 +00:00
CRadioButton.cpp
CRadioButton.h
CSlider.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CSlider.h Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CText.cpp Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
CText.h Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
CTooltip.cpp Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00
CTooltip.h Replaces CPos by more a consistent CVector2D, reduces geometry code duplication. 2021-03-28 21:55:13 +00:00