diff --git a/Source/Editor/CustomEditors/Elements/CustomElement.cs b/Source/Editor/CustomEditors/Elements/Container/CustomElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/CustomElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/CustomElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/GroupElement.cs b/Source/Editor/CustomEditors/Elements/Container/GroupElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/GroupElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/GroupElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/VerticalPanelElement.cs b/Source/Editor/CustomEditors/Elements/Container/HorizontalPanelElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/VerticalPanelElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/HorizontalPanelElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/PropertiesListElement.cs b/Source/Editor/CustomEditors/Elements/Container/PropertiesListElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/PropertiesListElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/PropertiesListElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/SpaceElement.cs b/Source/Editor/CustomEditors/Elements/Container/SpaceElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/SpaceElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/SpaceElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/TreeElement.cs b/Source/Editor/CustomEditors/Elements/Container/TreeElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/TreeElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/TreeElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/TreeNodeElement.cs b/Source/Editor/CustomEditors/Elements/Container/TreeNodeElement.cs
similarity index 100%
rename from Source/Editor/CustomEditors/Elements/TreeNodeElement.cs
rename to Source/Editor/CustomEditors/Elements/Container/TreeNodeElement.cs
diff --git a/Source/Editor/CustomEditors/Elements/Container/VerticalPanelElement.cs b/Source/Editor/CustomEditors/Elements/Container/VerticalPanelElement.cs
new file mode 100644
index 000000000..de015a371
--- /dev/null
+++ b/Source/Editor/CustomEditors/Elements/Container/VerticalPanelElement.cs
@@ -0,0 +1,21 @@
+// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
+
+using FlaxEngine.GUI;
+
+namespace FlaxEditor.CustomEditors.Elements
+{
+ ///
+ /// The horizontal panel element.
+ ///
+ ///
+ public class HorizontalPanelElement : LayoutElementsContainer
+ {
+ ///
+ /// The panel.
+ ///
+ public readonly HorizontalPanel Panel = new HorizontalPanel();
+
+ ///
+ public override ContainerControl ContainerControl => Panel;
+ }
+}
diff --git a/Source/Editor/CustomEditors/LayoutElementsContainer.cs b/Source/Editor/CustomEditors/LayoutElementsContainer.cs
index 3ad1d851d..ae33599c1 100644
--- a/Source/Editor/CustomEditors/LayoutElementsContainer.cs
+++ b/Source/Editor/CustomEditors/LayoutElementsContainer.cs
@@ -102,6 +102,28 @@ namespace FlaxEditor.CustomEditors
Editor.Instance.ProjectCache.SetCollapsedGroup(panel.HeaderText, panel.IsClosed);
}
+ ///
+ /// Adds new horizontal panel element.
+ ///
+ /// The created element.
+ public HorizontalPanelElement HorizontalPanel()
+ {
+ var element = new HorizontalPanelElement();
+ OnAddElement(element);
+ return element;
+ }
+
+ ///
+ /// Adds new horizontal panel element.
+ ///
+ /// The created element.
+ public VerticalPanelElement VerticalPanel()
+ {
+ var element = new VerticalPanelElement();
+ OnAddElement(element);
+ return element;
+ }
+
///
/// Adds new button element.
///