From 46e7e6173aaf3aa830f771d4620551695bb57c2a Mon Sep 17 00:00:00 2001 From: Crawcik Date: Wed, 2 Jun 2021 18:42:28 +0200 Subject: [PATCH] Rebuilding parrent collections layout --- .../CustomEditors/Editors/CollectionEditor.cs | 19 +++++++++++++ .../CustomEditors/Editors/DictionaryEditor.cs | 27 ++++++++++++++++--- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Source/Editor/CustomEditors/Editors/CollectionEditor.cs b/Source/Editor/CustomEditors/Editors/CollectionEditor.cs index 141330aea..f7c6c1e06 100644 --- a/Source/Editor/CustomEditors/Editors/CollectionEditor.cs +++ b/Source/Editor/CustomEditors/Editors/CollectionEditor.cs @@ -229,6 +229,24 @@ namespace FlaxEditor.CustomEditors.Editors } } + /// + /// Rebuilds the parent layout if its collection. + /// + public void RebuildParentCollection() + { + if (ParentEditor is DictionaryEditor dictionaryEditor) + { + dictionaryEditor.RebuildParentCollection(); + dictionaryEditor.RebuildLayout(); + return; + } + if (ParentEditor is CollectionEditor collectionEditor) + { + collectionEditor.RebuildParentCollection(); + collectionEditor.RebuildLayout(); + } + } + private void OnSizeChanged() { if (IsSetBlocked) @@ -312,6 +330,7 @@ namespace FlaxEditor.CustomEditors.Editors if (Count != _elementsCount) { RebuildLayout(); + RebuildParentCollection(); } } } diff --git a/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs b/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs index 4a94136db..1a57fa59d 100644 --- a/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs +++ b/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs @@ -1,9 +1,5 @@ // Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; using FlaxEditor.CustomEditors.Elements; using FlaxEditor.CustomEditors.GUI; using FlaxEditor.GUI; @@ -12,6 +8,10 @@ using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; namespace FlaxEditor.CustomEditors.Editors { @@ -279,6 +279,24 @@ namespace FlaxEditor.CustomEditors.Editors } } + /// + /// Rebuilds the parent layout if its collection. + /// + public void RebuildParentCollection() + { + if (ParentEditor is DictionaryEditor dictionaryEditor) + { + dictionaryEditor.RebuildParentCollection(); + dictionaryEditor.RebuildLayout(); + return; + } + if (ParentEditor is CollectionEditor collectionEditor) + { + collectionEditor.RebuildParentCollection(); + collectionEditor.RebuildLayout(); + } + } + private void OnSizeChanged() { if (IsSetBlocked) @@ -454,6 +472,7 @@ namespace FlaxEditor.CustomEditors.Editors if (Count != _elementsCount) { RebuildLayout(); + RebuildParentCollection(); } } }