0ad/source/gui/ObjectTypes
wraitii 7c04ea0211 Make JS GUI Objects Proxy objects.
The JS-side counterparts of C++ objects are now Proxy objects, in
anticipation of SM60 changes that remove the get/set hooks entirely.
This makes semantic sense too as they are essentially phantom wrappers
around the C++ objects, with no proper JS representation.

By using different proxy handlers for different GUI object types, we can
further fix issues encountered in D2136 by defining the relevant
functions only on objects that should have them.

The main complexity with proxy handlers is that Spidermonkey assumes in
several places that they are static and data-less, so they cannot be
used directly to hold data. This diff works around that issue by storing
per-script-interface data in the CGui directly.

Further API changes in SM60 make this slightly cleaner.

Comments by: Itms
Refs #5859

Differential Revision: https://code.wildfiregames.com/D2768
This was SVN commit r24229.
2020-11-21 17:49:06 +00:00
..
CButton.cpp Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders. 2019-10-02 09:44:00 +00:00
CButton.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
CChart.cpp Fixes GLES mode builds on Mesa and running on Intel Iris drivers. 2020-01-17 21:13:51 +00:00
CChart.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
CCheckBox.cpp Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders. 2019-10-02 09:44:00 +00:00
CCheckBox.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
CDropDown.cpp Let players remap hotkeys in-game, fix default hotkeys being qwerty-specific. 2020-11-19 09:27:26 +00:00
CDropDown.h Let players remap hotkeys in-game, fix default hotkeys being qwerty-specific. 2020-11-19 09:27:26 +00:00
CGUIDummyObject.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
CHotkeyPicker.cpp Fix no-PCH builds and checkrefs following a4852c4c01 2020-11-20 11:41:56 +00:00
CHotkeyPicker.h Clean up header includes, add new forward declarations. 2020-11-21 11:20:29 +00:00
CImage.cpp Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders. 2019-10-02 09:44:00 +00:00
CImage.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
CInput.cpp Let players remap hotkeys in-game, fix default hotkeys being qwerty-specific. 2020-11-19 09:27:26 +00:00
CInput.h Let players remap hotkeys in-game, fix default hotkeys being qwerty-specific. 2020-11-19 09:27:26 +00:00
CList.cpp Let players remap hotkeys in-game, fix default hotkeys being qwerty-specific. 2020-11-19 09:27:26 +00:00
CList.h Let players remap hotkeys in-game, fix default hotkeys being qwerty-specific. 2020-11-19 09:27:26 +00:00
CMiniMap.cpp Clean up header includes, add new forward declarations. 2020-11-21 11:20:29 +00:00
CMiniMap.h Adds a LOS mask to Minimap. 2020-11-08 08:51:54 +00:00
COList.cpp Remove counterproductive lowercasing of GUI ScriptEvent names, refs #127. 2020-01-15 16:00:37 +00:00
COList.h Remove counterproductive lowercasing of GUI ScriptEvent names, refs #127. 2020-01-15 16:00:37 +00:00
CProgressBar.cpp 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
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 Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders. 2019-10-02 09:44:00 +00:00
CRadioButton.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
CSlider.cpp CSlider inherits IGUIButtonBehavior to gains button sounds, press/release events, duplication removal, continuation of sliding if the object is not hovered while the button is still pressed, refs #2593, c016a74309/D325, 359df88f1a/D1622. 2020-01-24 00:56:51 +00:00
CSlider.h CSlider inherits IGUIButtonBehavior to gains button sounds, press/release events, duplication removal, continuation of sliding if the object is not hovered while the button is still pressed, refs #2593, c016a74309/D325, 359df88f1a/D1622. 2020-01-24 00:56:51 +00:00
CText.cpp Make JS GUI Objects Proxy objects. 2020-11-21 17:49:06 +00:00
CText.h Make JS GUI Objects Proxy objects. 2020-11-21 17:49:06 +00:00
CTooltip.cpp Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders. 2019-10-02 09:44:00 +00:00
CTooltip.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