0ad/source/gui
elexis d4d5187c9d Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject.
Unifies the four copies of the function while making it more versatile.
Supersede the hardcoded GUIRR enum and CheckIfRestricted function with a
flexible member function pointer.
Replace the custom IGUIObject iterator with a casually iterable
GetChildren getter, so that it is more obvious what it iterates on.
Implement TODO from e21ebb37f5, i.e. RecurseObject not iterating over
the base object.

Differential Revision: https://code.wildfiregames.com/D2204
Tested on: gcc 9.1.0, clang 8.0.1, VS2015

This was SVN commit r22744.
2019-08-21 13:22:25 +00:00
..
scripting Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
tests Move GUI string parsing specializations to a separate file and remove __ParseString proxy. 2019-08-19 19:43:13 +00:00
CButton.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CButton.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CChart.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CChart.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CCheckBox.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CCheckBox.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CDropDown.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CDropDown.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUI.cpp Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
CGUI.h Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
CGUIColor.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIColor.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIList.h Split CGUIString.h from GUIText.h, so that one may have the SGUIText implementation in a separate cpp file. 2019-08-10 19:16:52 +00:00
CGUIScrollBarVertical.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIScrollBarVertical.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUISeries.h Use NONCOPYABLE for most GUI classes and structs to have the compiler indicate unintended copies, refs 3028551b91 / D2163. 2019-08-10 00:04:17 +00:00
CGUISprite.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUISprite.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIString.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIString.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIText.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CGUIText.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CImage.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CImage.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CInput.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CInput.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CList.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CList.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
COList.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
COList.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CProgressBar.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CProgressBar.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CRadioButton.cpp Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
CRadioButton.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CSlider.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CSlider.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CText.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CText.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CTooltip.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
CTooltip.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
GUI.h Move CGUI::GenerateText to CGUIText constructor, CGUI::DrawText to CGUIText::Draw, SGenerateTextImage from CGUI to CGUIText. 2019-08-17 01:32:11 +00:00
GUIbase.cpp Move CClientArea ToJSVal / FromJSVal conversion from JSI_IGUIObject (since that should be agnostic of the conversion) to CClientArea (since that defines the properties). 2019-07-26 14:47:27 +00:00
GUIbase.h Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
GUIManager.cpp PushGuiPage support for passing a function instead of a function name. 2019-08-16 18:46:04 +00:00
GUIManager.h PushGuiPage support for passing a function instead of a function name. 2019-08-16 18:46:04 +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
GUIRenderer.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
GUIRenderer.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
GUIStringConversions.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
GUITooltip.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
GUITooltip.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
GUItypes.h Stop copying color every draw call for every GUI object using colors. 2019-08-19 12:53:58 +00:00
GUIutil.cpp Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
GUIutil.h Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
IGUIButtonBehavior.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
IGUIButtonBehavior.h Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
IGUIObject.cpp Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
IGUIObject.h Use variadic template for RecurseObject from c2a71e41bf and move it from GUIutil to IGUIObject. 2019-08-21 13:22:25 +00:00
IGUIScrollBar.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
IGUIScrollBar.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
IGUIScrollBarOwner.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
IGUIScrollBarOwner.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
IGUITextOwner.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
IGUITextOwner.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
MiniMap.cpp Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00
MiniMap.h Use CGUI& instead of CGUI* so that the 50+ users stop wondering whether or not that is null and can't even be mistaken to add redundant null checks preemptively. 2019-08-21 10:12:33 +00:00