Conditional -> GUIObject and make all gui objects children of GUIObject

Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Change-Id: Ic0a7d6354dabe5919b83942f2f1aa0715625e522
diff --git a/gui/objects.hpp b/gui/objects.hpp
index e8110b0..42dfb1f 100644
--- a/gui/objects.hpp
+++ b/gui/objects.hpp
@@ -122,10 +122,11 @@
 	int mActionX, mActionY, mActionW, mActionH;
 };
 
-class Conditional
+class GUIObject
 {
 public:
-	Conditional(xml_node<>* node);
+	GUIObject(xml_node<>* node);
+	virtual ~GUIObject();
 
 public:
 	bool IsConditionVariable(std::string var);
@@ -169,7 +170,7 @@
 
 // Derived Objects
 // GUIText - Used for static text
-class GUIText : public RenderObject, public ActionObject, public Conditional
+class GUIText : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	// w and h may be ignored, in which case, no bounding box is applied
@@ -217,7 +218,7 @@
 };
 
 // GUIImage - Used for static image
-class GUIImage : public RenderObject, public Conditional
+class GUIImage : public GUIObject, public RenderObject
 {
 public:
 	GUIImage(xml_node<>* node);
@@ -240,7 +241,7 @@
 };
 
 // GUIFill - Used for fill colors
-class GUIFill : public RenderObject
+class GUIFill : public GUIObject, public RenderObject
 {
 public:
 	GUIFill(xml_node<>* node);
@@ -255,7 +256,7 @@
 };
 
 // GUIAction - Used for standard actions
-class GUIAction : public ActionObject, public Conditional
+class GUIAction : public GUIObject, public ActionObject
 {
 public:
 	GUIAction(xml_node<>* node);
@@ -289,7 +290,7 @@
 	time_t Start;
 };
 
-class GUIConsole : public RenderObject, public ActionObject
+class GUIConsole : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIConsole(xml_node<>* node);
@@ -347,7 +348,7 @@
 	virtual int RenderConsole(void);
 };
 
-class GUIButton : public RenderObject, public ActionObject, public Conditional
+class GUIButton : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIButton(xml_node<>* node);
@@ -386,7 +387,7 @@
 	Placement TextPlacement;
 };
 
-class GUICheckbox: public RenderObject, public ActionObject, public Conditional
+class GUICheckbox: public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUICheckbox(xml_node<>* node);
@@ -420,7 +421,7 @@
 	std::string mVarName;
 };
 
-class GUIFileSelector : public RenderObject, public ActionObject
+class GUIFileSelector : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIFileSelector(xml_node<>* node);
@@ -524,7 +525,7 @@
 	bool updateFileList;
 };
 
-class GUIListBox : public RenderObject, public ActionObject
+class GUIListBox : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIListBox(xml_node<>* node);
@@ -612,7 +613,7 @@
 	int touchDebounce;
 };
 
-class GUIPartitionList : public RenderObject, public ActionObject
+class GUIPartitionList : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIPartitionList(xml_node<>* node);
@@ -697,7 +698,7 @@
 };
 
 // GUIAnimation - Used for animations
-class GUIAnimation : public RenderObject
+class GUIAnimation : public GUIObject, public RenderObject
 {
 public:
 	GUIAnimation(xml_node<>* node);
@@ -720,7 +721,7 @@
 	int mUpdateCount;
 };
 
-class GUIProgressBar : public RenderObject, public ActionObject
+class GUIProgressBar : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIProgressBar(xml_node<>* node);
@@ -753,7 +754,7 @@
 	virtual int RenderInternal(void);	   // Does the actual render
 };
 
-class GUISlider : public RenderObject, public ActionObject
+class GUISlider : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUISlider(xml_node<>* node);
@@ -798,7 +799,7 @@
 #define KEYBOARD_SPECIAL_KEYS 245
 #define KEYBOARD_BACKSPACE 8
 
-class GUIKeyboard : public RenderObject, public ActionObject, public Conditional
+class GUIKeyboard : public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUIKeyboard(xml_node<>* node);
@@ -836,7 +837,7 @@
 };
 
 // GUIInput - Used for keyboard input
-class GUIInput : public RenderObject, public ActionObject, public Conditional, public InputObject
+class GUIInput : public GUIObject, public RenderObject, public ActionObject, public InputObject
 {
 public:
 	// w and h may be ignored, in which case, no bounding box is applied
@@ -912,7 +913,7 @@
 	virtual int KeyRepeat(void);
 };
 
-class GUISliderValue: public RenderObject, public ActionObject, public Conditional
+class GUISliderValue: public GUIObject, public RenderObject, public ActionObject
 {
 public:
 	GUISliderValue(xml_node<>* node);