瀏覽代碼

Travis CI: API documentation update at 2016-01-21 19:58:41 UTC.
[ci package]

Commit: https://github.com/urho3d/Urho3D/commit/ff42717419adbd8b5751f2c703ed455baaebae76

Message: Rename IsTagged -> HasTag. Pass tag scripts in Lua by value to match the other API bindings.

urho3d-travis-ci 10 年之前
父節點
當前提交
cc6f1a3d81
共有 4 個文件被更改,包括 244 次插入1 次删除
  1. 119 0
      Docs/AngelScriptAPI.h
  2. 6 0
      Docs/LuaScriptAPI.dox
  3. 118 0
      Docs/ScriptAPI.dox
  4. 1 1
      Source/Urho3D/.soversion

+ 119 - 0
Docs/AngelScriptAPI.h

@@ -748,8 +748,10 @@ class BorderImage
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -764,11 +766,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -790,6 +794,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -918,6 +923,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -983,8 +990,10 @@ class Button
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -999,11 +1008,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -1025,6 +1036,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -1162,6 +1174,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -1301,8 +1315,10 @@ class CheckBox
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -1317,11 +1333,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -1343,6 +1361,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -1474,6 +1493,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -3520,8 +3541,10 @@ class Cursor
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DefineShape(CursorShape, Texture, const IntRect&, const IntVector2&);
 void DefineShape(const String&, Texture, const IntRect&, const IntVector2&);
@@ -3538,11 +3561,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -3564,6 +3589,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -3695,6 +3721,8 @@ String shape;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -4367,8 +4395,10 @@ class DropDownList
 // Methods:
 void AddChild(UIElement);
 void AddItem(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -4383,12 +4413,14 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 Array<UIElement> GetItems() const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 void InsertItem(uint, UIElement);
 bool IsInside(IntVector2, bool);
@@ -4414,6 +4446,7 @@ void RemoveInstanceDefault();
 void RemoveItem(UIElement);
 void RemoveItem(uint);
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -4571,6 +4604,8 @@ bool showPopup;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -5631,8 +5666,10 @@ class LineEdit
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -5647,11 +5684,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -5673,6 +5712,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -5808,6 +5848,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 String text;
 bool textCopyable;
@@ -5839,10 +5881,12 @@ class ListView
 void AddChild(UIElement);
 void AddItem(UIElement);
 void AddSelection(uint);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
 void ChangeSelection(int, bool);
 void ClearSelection();
+void ClearTags();
 void CopySelectedItemsToClipboard();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
@@ -5860,12 +5904,14 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 Array<UIElement> GetItems() const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 void InsertItem(uint, UIElement, UIElement = null);
 bool IsExpanded(uint) const;
@@ -5894,6 +5940,7 @@ void RemoveItem(UIElement, uint = 0);
 void RemoveItem(uint);
 void RemoveObjectAnimation();
 void RemoveSelection(uint);
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -6050,6 +6097,8 @@ Array<uint> selections;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 TraversalMode traversalMode;
 /* readonly */
@@ -6298,8 +6347,10 @@ class Menu
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -6314,11 +6365,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -6340,6 +6393,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -6486,6 +6540,8 @@ bool showPopup;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -8961,9 +9017,11 @@ class ScrollBar
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
 void ChangeValue(float);
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -8978,11 +9036,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -9004,6 +9064,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -9139,6 +9200,8 @@ Slider slider;
 bool sortChildren;
 float stepFactor;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 TraversalMode traversalMode;
 /* readonly */
@@ -9162,8 +9225,10 @@ class ScrollView
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -9178,11 +9243,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -9204,6 +9271,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -9339,6 +9407,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 TraversalMode traversalMode;
 /* readonly */
@@ -9555,9 +9625,11 @@ class Slider
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
 void ChangeValue(float);
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -9572,11 +9644,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -9598,6 +9672,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -9731,6 +9806,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -10240,8 +10317,10 @@ class Sprite
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 uint FindChild(UIElement) const;
 Variant GetAttribute(const String&) const;
@@ -10253,11 +10332,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool Load(File, bool = false);
 bool Load(VectorBuffer&, bool = false);
@@ -10277,6 +10358,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetToDefault();
 bool Save(File) const;
 bool Save(VectorBuffer&) const;
@@ -10362,6 +10444,8 @@ Vector2 scale;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 /* readonly */
@@ -11046,9 +11130,11 @@ class Text
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
 void ClearSelection();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -11063,11 +11149,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -11089,6 +11177,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -11238,6 +11327,8 @@ uint selectionStart;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 String text;
 HorizontalAlignment textAlignment;
@@ -11921,8 +12012,10 @@ class ToolTip
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -11937,11 +12030,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -11963,6 +12058,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -12085,6 +12181,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 TraversalMode traversalMode;
 /* readonly */
@@ -12180,8 +12278,10 @@ class UIElement
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -12196,11 +12296,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -12222,6 +12324,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -12343,6 +12446,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 TraversalMode traversalMode;
 /* readonly */
@@ -12650,8 +12755,10 @@ class View3D
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -12666,11 +12773,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -12693,6 +12802,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -12842,6 +12952,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;
@@ -12912,8 +13024,10 @@ class Window
 {
 // Methods:
 void AddChild(UIElement);
+void AddTag(const String&);
 void ApplyAttributes();
 void BringToFront();
+void ClearTags();
 UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
 void DisableLayoutUpdate();
 IntVector2 ElementToScreen(const IntVector2&);
@@ -12928,11 +13042,13 @@ Variant GetAttributeDefault(const String&) const;
 UIElement GetChild(const String&, bool = false) const;
 UIElement GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const;
 Array<UIElement> GetChildren(bool = false) const;
+Array<UIElement> GetChildrenWithTag(const String&, bool = false) const;
 UIElement GetElementEventSender() const;
 bool GetInterceptNetworkUpdate(const String&) const;
 uint GetNumChildren(bool) const;
 bool HasSubscribedToEvent(Object, const String&);
 bool HasSubscribedToEvent(const String&);
+bool HasTag(const String&) const;
 void InsertChild(uint, UIElement);
 bool IsInside(IntVector2, bool);
 bool IsInsideCombined(IntVector2, bool);
@@ -12954,6 +13070,7 @@ void RemoveChild(UIElement, uint = 0);
 void RemoveChild(uint);
 void RemoveInstanceDefault();
 void RemoveObjectAnimation();
+bool RemoveTag(const String&);
 void ResetDeepEnabled();
 void ResetToDefault();
 bool Save(File) const;
@@ -13092,6 +13209,8 @@ bool selected;
 IntVector2 size;
 bool sortChildren;
 String style;
+/* readonly */
+Array<String> tags;
 bool temporary;
 Texture texture;
 bool tiled;

+ 6 - 0
Docs/LuaScriptAPI.dox

@@ -6476,6 +6476,12 @@ Methods:
 - TraversalMode GetTraversalMode() const
 - bool IsElementEventSender() const
 - UIElement* GetElementEventSender() const
+- void AddTag(const String tag)
+- void ClearTags()
+- bool RemoveTag(const String tag)
+- bool HasTag(const String tag) const
+- const StringVector& GetTags() const
+- const PODVector<UIElement*>& GetChildrenWithTag(const String tag, bool recursive = false) const
 
 Properties:
 

+ 118 - 0
Docs/ScriptAPI.dox

@@ -894,6 +894,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -935,6 +936,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -1000,6 +1002,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -1243,6 +1246,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -1315,6 +1319,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -1419,6 +1424,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -1466,6 +1472,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %View %Position : IntVector2
 - %Scroll %Step : float
 - %Page %Step : float
@@ -1519,6 +1526,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -1730,6 +1738,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Orientation : int
 - %Range : float
 - %Value : float
@@ -1773,6 +1782,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %View %Position : IntVector2
 - %Scroll %Step : float
 - %Page %Step : float
@@ -1832,6 +1842,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -2004,6 +2015,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Font : ResourceRef
 - %Font %Size : int
 - %Text : String
@@ -2077,6 +2089,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Delay : float
 
 ### UIElement
@@ -2112,6 +2125,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 
 ### View3D
 - %Name : String
@@ -2146,6 +2160,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -2196,6 +2211,7 @@ namespace Urho3D
 - %Indent : int
 - %Indent %Spacing : int
 - %Variables : VariantMap
+- %Tags : StringVector
 - %Texture : ResourceRef
 - %Image %Rect : IntRect
 - %Border : IntRect
@@ -3123,8 +3139,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -3139,11 +3157,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -3165,6 +3185,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -3271,6 +3292,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -3333,8 +3355,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -3349,11 +3373,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -3375,6 +3401,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -3489,6 +3516,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -3612,8 +3640,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -3628,11 +3658,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -3654,6 +3686,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -3763,6 +3796,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -5557,8 +5591,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DefineShape(CursorShape, Texture@, const IntRect&, const IntVector2&)
 - void DefineShape(const String&, Texture@, const IntRect&, const IntVector2&)
@@ -5575,11 +5611,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -5601,6 +5639,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -5710,6 +5749,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -6302,8 +6342,10 @@ Methods:
 
 - void AddChild(UIElement@)
 - void AddItem(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -6318,12 +6360,14 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - UIElement@[]@ GetItems() const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - void InsertItem(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
@@ -6349,6 +6393,7 @@ Methods:
 - void RemoveItem(UIElement@)
 - void RemoveItem(uint)
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -6476,6 +6521,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -7368,8 +7414,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -7384,11 +7432,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -7410,6 +7460,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -7522,6 +7573,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - String text
 - bool textCopyable
@@ -7549,10 +7601,12 @@ Methods:
 - void AddChild(UIElement@)
 - void AddItem(UIElement@)
 - void AddSelection(uint)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
 - void ChangeSelection(int, bool)
 - void ClearSelection()
+- void ClearTags()
 - void CopySelectedItemsToClipboard()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
@@ -7570,12 +7624,14 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - UIElement@[]@ GetItems() const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - void InsertItem(uint, UIElement@, UIElement@ = null)
 - bool IsExpanded(uint) const
@@ -7604,6 +7660,7 @@ Methods:
 - void RemoveItem(uint)
 - void RemoveObjectAnimation()
 - void RemoveSelection(uint)
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -7730,6 +7787,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - TraversalMode traversalMode
 - StringHash type // readonly
@@ -7967,8 +8025,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -7983,11 +8043,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -8009,6 +8071,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -8130,6 +8193,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -10357,9 +10421,11 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
 - void ChangeValue(float)
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -10374,11 +10440,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -10400,6 +10468,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -10509,6 +10578,7 @@ Properties:
 - bool sortChildren
 - float stepFactor
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - TraversalMode traversalMode
 - StringHash type // readonly
@@ -10529,8 +10599,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -10545,11 +10617,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -10571,6 +10645,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -10682,6 +10757,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - TraversalMode traversalMode
 - StringHash type // readonly
@@ -10877,9 +10953,11 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
 - void ChangeValue(float)
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -10894,11 +10972,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -10920,6 +11000,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -11030,6 +11111,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -11481,8 +11563,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - uint FindChild(UIElement@) const
 - Variant GetAttribute(const String&) const
@@ -11494,11 +11578,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool Load(File@, bool = false)
 - bool Load(VectorBuffer&, bool = false)
@@ -11518,6 +11604,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetToDefault()
 - bool Save(File@) const
 - bool Save(VectorBuffer&) const
@@ -11590,6 +11677,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - StringHash type // readonly
@@ -12195,9 +12283,11 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
 - void ClearSelection()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -12212,11 +12302,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -12238,6 +12330,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -12355,6 +12448,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - String text
 - HorizontalAlignment textAlignment
@@ -12916,8 +13010,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -12932,11 +13028,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -12958,6 +13056,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -13058,6 +13157,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - TraversalMode traversalMode
 - StringHash type // readonly
@@ -13144,8 +13244,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -13160,11 +13262,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -13186,6 +13290,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -13285,6 +13390,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - TraversalMode traversalMode
 - StringHash type // readonly
@@ -13578,8 +13684,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -13594,11 +13702,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -13621,6 +13731,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -13744,6 +13855,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled
@@ -13808,8 +13920,10 @@ Properties:
 Methods:
 
 - void AddChild(UIElement@)
+- void AddTag(const String&)
 - void ApplyAttributes()
 - void BringToFront()
+- void ClearTags()
 - UIElement@ CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED)
 - void DisableLayoutUpdate()
 - IntVector2 ElementToScreen(const IntVector2&)
@@ -13824,11 +13938,13 @@ Methods:
 - UIElement@ GetChild(const String&, bool = false) const
 - UIElement@ GetChild(const StringHash&, const Variant& = Variant ( ), bool = false) const
 - UIElement@[]@ GetChildren(bool = false) const
+- UIElement@[]@ GetChildrenWithTag(const String&, bool = false) const
 - UIElement@ GetElementEventSender() const
 - bool GetInterceptNetworkUpdate(const String&) const
 - uint GetNumChildren(bool) const
 - bool HasSubscribedToEvent(Object@, const String&)
 - bool HasSubscribedToEvent(const String&)
+- bool HasTag(const String&) const
 - void InsertChild(uint, UIElement@)
 - bool IsInside(IntVector2, bool)
 - bool IsInsideCombined(IntVector2, bool)
@@ -13850,6 +13966,7 @@ Methods:
 - void RemoveChild(uint)
 - void RemoveInstanceDefault()
 - void RemoveObjectAnimation()
+- bool RemoveTag(const String&)
 - void ResetDeepEnabled()
 - void ResetToDefault()
 - bool Save(File@) const
@@ -13966,6 +14083,7 @@ Properties:
 - IntVector2 size
 - bool sortChildren
 - String style
+- String[]@ tags // readonly
 - bool temporary
 - Texture@ texture
 - bool tiled

+ 1 - 1
Source/Urho3D/.soversion

@@ -1 +1 @@
-0.0.187
+0.0.188