0ad/source/gui/Scripting
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
..
GuiScriptConversions.cpp Do not trigger "HotkeyPress" events when releasing a key. 2021-03-31 15:50:25 +00:00
JSInterface_GUIManager.cpp Refactor all usage of RegisterFunction to ScriptFunction::Register 2021-03-02 20:01:14 +00:00
JSInterface_GUIManager.h Refactor all usage of RegisterFunction to ScriptFunction::Register 2021-03-02 20:01:14 +00:00
JSInterface_GUIProxy.cpp Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
JSInterface_GUIProxy.h Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
JSInterface_GUIProxy_impl.h Simplify GUI Proxy implementation & customisation. 2021-04-09 18:01:47 +00:00
JSInterface_GUISize.cpp [SM60 2/2] Update to Spidermonkey 60 APIs 2020-11-24 15:47:03 +00:00
JSInterface_GUISize.h [SM52 2/2] Update to Spidermonkey 52 APIs. 2020-11-18 14:39:04 +00:00
ScriptFunctions.cpp Refactor all usage of RegisterFunction to ScriptFunction::Register 2021-03-02 20:01:14 +00:00
ScriptFunctions.h Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders. 2019-10-02 09:44:00 +00:00