check box を左に
This commit is contained in:
parent
c6aafef7ae
commit
6e5241ed2e
@ -5,17 +5,18 @@ using System.Linq;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEditor.Compilation;
|
using UnityEditor.Compilation;
|
||||||
using UnityEngine;
|
|
||||||
using UnityEngine.UIElements;
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
namespace AsmdefHelper.DependencyGraph.Editor {
|
namespace AsmdefHelper.DependencyGraph.Editor {
|
||||||
public class AsmdefSelectionView : EditorWindow {
|
public class AsmdefSelectionView : EditorWindow {
|
||||||
|
const int toggleCount = 1000;
|
||||||
static EditorWindow graphWindow;
|
static EditorWindow graphWindow;
|
||||||
public void OnEnable() {
|
public void OnEnable() {
|
||||||
graphWindow = GetWindow<AsmdefGraphEditorWindow>();
|
graphWindow = GetWindow<AsmdefGraphEditorWindow>();
|
||||||
}
|
|
||||||
|
|
||||||
VisualTreeAsset LoadVisualTreeAsset() {
|
// Each editor window contains a root VisualElement object
|
||||||
|
VisualElement root = rootVisualElement;
|
||||||
|
|
||||||
// Import UXML
|
// Import UXML
|
||||||
var visualTree =
|
var visualTree =
|
||||||
AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(
|
AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(
|
||||||
@ -25,20 +26,22 @@ namespace AsmdefHelper.DependencyGraph.Editor {
|
|||||||
AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(
|
AssetDatabase.LoadAssetAtPath<VisualTreeAsset>(
|
||||||
"Packages/dev.n5y.asmdefhelper/AsmdefHelper/DependencyGraph/Editor/AsmdefSelectionView/AsmdefSelectionView.uxml");
|
"Packages/dev.n5y.asmdefhelper/AsmdefHelper/DependencyGraph/Editor/AsmdefSelectionView/AsmdefSelectionView.uxml");
|
||||||
}
|
}
|
||||||
return visualTree;
|
|
||||||
|
VisualElement labelFromUXML = visualTree.Instantiate();
|
||||||
|
root.Add(labelFromUXML);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetAsmdef(Assembly[] assemblies) {
|
public void SetAsmdef(Assembly[] assemblies) {
|
||||||
VisualElement scroll = new ScrollView();
|
var sortedAssemblies = assemblies.OrderBy(x => x.name).ToArray();
|
||||||
rootVisualElement.Add(scroll);
|
var scrollView = rootVisualElement.Q<ScrollView>(className: "ScrollView");
|
||||||
var sorted = assemblies.OrderBy(x => x.name);
|
for (var i = 0; i < toggleCount; i++) {
|
||||||
foreach (var assembly in sorted) {
|
var toggle = rootVisualElement.Q<Toggle>(className: $"toggle{i}");
|
||||||
var elm = LoadVisualTreeAsset().Instantiate();
|
if (i < sortedAssemblies.Length) {
|
||||||
var toggle = elm.Q<Toggle>(className: "CheckBox");
|
toggle.text = sortedAssemblies[i].name;
|
||||||
var label = elm.Q<Label>(className: "NameLabel");
|
|
||||||
toggle.value = true;
|
toggle.value = true;
|
||||||
label.text = assembly.name;
|
} else {
|
||||||
scroll.Add(elm);
|
scrollView.Remove(toggle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user