From 6a2cbd6dd3502c67c4bfc4b1544988083e5aabef Mon Sep 17 00:00:00 2001 From: naninunenoy Date: Mon, 30 Nov 2020 02:37:56 +0900 Subject: [PATCH] toggle group in box --- .../AsmdefSelectionView/AsmdefSelectionView.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Assets/AsmdefHelper/DependencyGraph/Editor/AsmdefSelectionView/AsmdefSelectionView.cs b/Assets/AsmdefHelper/DependencyGraph/Editor/AsmdefSelectionView/AsmdefSelectionView.cs index d70216c..b56e4c9 100644 --- a/Assets/AsmdefHelper/DependencyGraph/Editor/AsmdefSelectionView/AsmdefSelectionView.cs +++ b/Assets/AsmdefHelper/DependencyGraph/Editor/AsmdefSelectionView/AsmdefSelectionView.cs @@ -64,20 +64,32 @@ namespace AsmdefHelper.DependencyGraph.Editor { Toggle firstToggle = null; var domains = group.GetSubDomains(top); foreach (var domain in domains) { + var isLast = domains.Last() == domain; if (toggleDict.TryGetValue(domain.FullName, out var x)) { var (_, toggle) = x; + var keisen = isLast ? "└" : "├"; + toggle.Name = domain.HasSubDomain() ? $"{keisen} {domain.SubDomain}" : toggle.Name; slaveToggles.Add(toggle); if (firstToggle == null && toggle is UiElementToggle y) { firstToggle = y.Toggle; } } } + var toggleGroup = new ToggleGroup(new UiElementToggle(topToggle), slaveToggles); if (firstToggle != null) { var index = scrollView.IndexOf(firstToggle); + // グループに属する toggle は box に入れる + var box = new Box(); scrollView.Insert(index, topToggle); - + scrollView.Insert(index + 1, box); + foreach (var slaveToggle in slaveToggles) { + if (slaveToggle is UiElementToggle x) { + box.Add(x.Toggle); + } + } } + topToggleDict.Add(top, (true, toggleGroup)); }