public PackageImportTreeViewDataSource(TreeView treeView, PackageImportTreeView view) : base(treeView) { this.m_PackageImportView = view; this.rootIsCollapsable = false; this.showRootNode = false; }
private void RecursiveComputeEnabledStateForFolders(PackageImportTreeView.PackageImportTreeViewItem pitem, HashSet<PackageImportTreeView.PackageImportTreeViewItem> done) { if (pitem.item != null && !pitem.item.isFolder) return; if (pitem.hasChildren) { using (List<TreeViewItem>.Enumerator enumerator = pitem.children.GetEnumerator()) { while (enumerator.MoveNext()) this.RecursiveComputeEnabledStateForFolders(enumerator.Current as PackageImportTreeView.PackageImportTreeViewItem, done); } } if (done.Contains(pitem)) return; PackageImportTreeView.EnabledState childrenEnabledState = this.GetFolderChildrenEnabledState(pitem); pitem.enableState = childrenEnabledState; if (childrenEnabledState != PackageImportTreeView.EnabledState.Mixed) return; done.Add(pitem); for (PackageImportTreeView.PackageImportTreeViewItem parent = pitem.parent as PackageImportTreeView.PackageImportTreeViewItem; parent != null; parent = parent.parent as PackageImportTreeView.PackageImportTreeViewItem) { if (!done.Contains(parent)) { parent.enableState = PackageImportTreeView.EnabledState.Mixed; done.Add(parent); } } }
public PackageImportTreeViewDataSource(TreeViewController treeView, PackageImportTreeView view) : base(treeView) { m_PackageImportView = view; rootIsCollapsable = false; showRootItem = false; }
public PackageImportTreeViewGUI(TreeView treeView, PackageImportTreeView view) : base(treeView) { this.m_PackageImportView = view; base.k_BaseIndent = 4f; if (!PackageImportTreeView.s_UseFoldouts) { base.k_FoldoutWidth = 0f; } }
public PackageImportTreeViewGUI(TreeView treeView, PackageImportTreeView view) : base(treeView) { this.m_PackageImportView = view; this.k_BaseIndent = 4f; if (PackageImportTreeView.s_UseFoldouts) { return; } this.k_FoldoutWidth = 0.0f; }
private void Init(string packagePath, AssetsItem[] items, string packageIconPath) { this.DestroyCreatedIcons(); this.m_TreeViewState = null; this.m_Tree = null; this.m_EnabledFolders = null; this.m_Assets = items; this.m_PackageName = Path.GetFileNameWithoutExtension(packagePath); this.m_PackageIconPath = packageIconPath; base.Repaint(); }
public PackageImportTreeViewGUI(TreeViewController treeView, PackageImportTreeView view) : base(treeView) { m_PackageImportView = view; k_BaseIndent = 4f; if (!s_UseFoldouts) { k_FoldoutWidth = 0f; } }
private void Init(string packagePath, ImportPackageItem[] items, string packageIconPath, bool allowReInstall) { this.DestroyCreatedIcons(); this.m_ShowReInstall = allowReInstall; this.m_ReInstallPackage = true; this.m_TreeViewState = null; this.m_Tree = null; this.m_ImportPackageItems = items; this.m_PackageName = Path.GetFileNameWithoutExtension(packagePath); this.m_PackageIconPath = packageIconPath; base.Repaint(); }
void Init(string packagePath, ImportPackageItem[] items, string packageIconPath) { DestroyCreatedIcons(); m_TreeViewState = null; m_Tree = null; m_ImportPackageItems = items; m_PackageName = System.IO.Path.GetFileNameWithoutExtension(packagePath); m_PackageIconPath = packageIconPath; Repaint(); }
public void OnGUI() { if (ms_Constants == null) { ms_Constants = new Constants(); } if (m_TreeViewState == null) { m_TreeViewState = new TreeViewState(); } if (m_Tree == null) { m_Tree = new PackageImportTreeView(this, m_TreeViewState, new Rect()); } if (m_ImportPackageItems != null && ShowTreeGUI(doReInstall, m_ImportPackageItems)) { TopArea(); m_Tree.OnGUI(GUILayoutUtility.GetRect(1, 9999, 1, 99999)); BottomArea(); } else { GUILayout.Label("Nothing to import!", EditorStyles.boldLabel); GUILayout.Label("All assets from this package are already in your project.", "WordWrappedLabel"); GUILayout.FlexibleSpace(); // Background GUILayout.BeginVertical(ms_Constants.bottomBarBg); GUILayout.Space(8); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); ReInstallToggle(); if (GUILayout.Button("OK")) { Close(); GUIUtility.ExitGUI(); } GUILayout.Space(10); GUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.EndVertical(); } }
public void OnGUI() { if (PackageImport.ms_Constants == null) { PackageImport.ms_Constants = new PackageImport.Constants(); } if (this.m_TreeViewState == null) { this.m_TreeViewState = new TreeViewState(); } if (this.m_Tree == null) { this.m_Tree = new PackageImportTreeView(this, this.m_TreeViewState, default(Rect)); } if (this.m_ImportPackageItems != null && this.ShowTreeGUI(this.doReInstall, this.m_ImportPackageItems)) { this.TopArea(); this.m_Tree.OnGUI(GUILayoutUtility.GetRect(1f, 9999f, 1f, 99999f)); this.BottomArea(); } else { GUILayout.Label("Nothing to import!", EditorStyles.boldLabel, new GUILayoutOption[0]); GUILayout.Label("All assets from this package are already in your project.", "WordWrappedLabel", new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(PackageImport.ms_Constants.bottomBarBg, new GUILayoutOption[0]); GUILayout.Space(8f); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); this.ReInstallToggle(); if (GUILayout.Button("OK", new GUILayoutOption[0])) { base.Close(); GUIUtility.ExitGUI(); } GUILayout.Space(10f); GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.EndVertical(); } }
public void OnGUI() { if (PackageImport.ms_Constants == null) { PackageImport.ms_Constants = new PackageImport.Constants(); } if (this.m_Assets == null) { return; } if (this.m_TreeViewState == null) { this.m_TreeViewState = new TreeViewState(); } if (this.m_Tree == null) { this.m_Tree = new PackageImportTreeView(this.m_Assets, this.m_EnabledFolders, this.m_TreeViewState, this, default(Rect)); } if (this.m_Assets.Length > 0) { this.TopArea(); this.m_Tree.OnGUI(GUILayoutUtility.GetRect(1f, 9999f, 1f, 99999f)); this.BottomArea(); } else { GUILayout.Label("Nothing to import!", EditorStyles.boldLabel, new GUILayoutOption[0]); GUILayout.Label("All assets from this package are already in your project.", "WordWrappedLabel", new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); if (GUILayout.Button("OK", new GUILayoutOption[0])) { base.Close(); GUIUtility.ExitGUI(); } GUILayout.EndHorizontal(); } }
public PackageImportTreeViewGUI(TreeView treeView, PackageImportTreeView view) : base(treeView) { this.m_PackageImportView = view; this.k_BaseIndent = 4f; if (PackageImportTreeView.s_UseFoldouts) return; this.k_FoldoutWidth = 0.0f; }
private static void Toggle(ImportPackageItem[] items, PackageImportTreeView.PackageImportTreeViewItem pitem, Rect toggleRect) { bool flag1 = pitem.enableState > PackageImportTreeView.EnabledState.None; bool flag2 = pitem.item == null || pitem.item.isFolder; GUIStyle style = EditorStyles.toggle; if (flag2 && pitem.enableState == PackageImportTreeView.EnabledState.Mixed) style = EditorStyles.toggleMixed; bool flag3 = GUI.Toggle(toggleRect, flag1, GUIContent.none, style); if (flag3 == flag1) return; pitem.enableState = !flag3 ? PackageImportTreeView.EnabledState.None : PackageImportTreeView.EnabledState.All; }
private void BuildAssetList() { this.m_Assets = GetAssetItemsForExport(Selection.assetGUIDsDeepSelection, this.m_IncludeDependencies).ToArray<AssetsItem>(); this.m_Tree = null; this.m_TreeViewState = null; }
private void DoToggle(PackageImportTreeView.PackageImportTreeViewItem pitem, Rect toggleRect) { EditorGUI.BeginChangeCheck(); PackageImportTreeView.PackageImportTreeViewGUI.Toggle(this.m_PackageImportView.packageItems, pitem, toggleRect); if (!EditorGUI.EndChangeCheck()) return; if (this.m_TreeView.GetSelection().Length <= 1 || !((IEnumerable<int>) this.m_TreeView.GetSelection()).Contains<int>(pitem.id)) { this.m_TreeView.SetSelection(new int[1]{ pitem.id }, 0 != 0); this.m_TreeView.NotifyListenersThatSelectionChanged(); } if (this.itemWasToggled != null) this.itemWasToggled(pitem); Event.current.Use(); }
public void OnGUI() { if (PackageImport.ms_Constants == null) PackageImport.ms_Constants = new PackageImport.Constants(); if (this.m_TreeViewState == null) this.m_TreeViewState = new TreeViewState(); if (this.m_Tree == null) this.m_Tree = new PackageImportTreeView(this, this.m_TreeViewState, new Rect()); if (this.m_ImportPackageItems != null && this.ShowTreeGUI(this.doReInstall, this.m_ImportPackageItems)) { this.TopArea(); this.m_Tree.OnGUI(GUILayoutUtility.GetRect(1f, 9999f, 1f, 99999f)); this.BottomArea(); } else { GUILayout.Label("Nothing to import!", EditorStyles.boldLabel, new GUILayoutOption[0]); GUILayout.Label("All assets from this package are already in your project.", (GUIStyle) "WordWrappedLabel", new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(PackageImport.ms_Constants.bottomBarBg, new GUILayoutOption[0]); GUILayout.Space(8f); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); this.ReInstallToggle(); if (GUILayout.Button("OK")) { this.Close(); GUIUtility.ExitGUI(); } GUILayout.Space(10f); GUILayout.EndHorizontal(); GUILayout.Space(5f); GUILayout.EndVertical(); } }
private void ItemWasToggled(PackageImportTreeView.PackageImportTreeViewItem pitem) { if (this.m_Selection.Count <= 1) { this.EnableChildrenRecursive((TreeViewItem) pitem, pitem.enableState); } else { using (List<PackageImportTreeView.PackageImportTreeViewItem>.Enumerator enumerator = this.m_Selection.GetEnumerator()) { while (enumerator.MoveNext()) enumerator.Current.enableState = pitem.enableState; } } this.ComputeEnabledStateForFolders(); }
private void ItemWasToggled(PackageImportTreeView.PackageImportTreeViewItem pitem) { if (this.m_Selection.Count <= 1) { this.EnableChildrenRecursive(pitem, pitem.item.enabled); } else { foreach (PackageImportTreeView.PackageImportTreeViewItem current in this.m_Selection) { current.item.enabled = pitem.item.enabled; } } this.ComputeEnabledStateForFolders(); }
public void SetAllEnabled(PackageImportTreeView.EnabledState state) { this.EnableChildrenRecursive(this.m_TreeView.data.root, state); this.ComputeEnabledStateForFolders(); }
private static void Toggle(PackageImportTreeView.PackageImportTreeViewItem pitem, Rect toggleRect) { bool flag = pitem.item.enabled > 0; GUIStyle style = EditorStyles.toggle; bool flag2 = pitem.isFolder && pitem.item.enabled == 2; if (flag2) { style = EditorStyles.toggleMixed; } bool flag3 = GUI.Toggle(toggleRect, flag, GUIContent.none, style); if (flag3 != flag) { pitem.item.enabled = ((!flag3) ? 0 : 1); } }
private void BuildAssetList() { this.m_Assets = GetAssetItemsForExport(Selection.assetGUIDsDeepSelection, this.m_IncludeDependencies).ToArray <AssetsItem>(); this.m_Tree = null; this.m_TreeViewState = null; }
private void Init(string packagePath, ImportPackageItem[] items, string packageIconPath, bool allowReInstall) { this.DestroyCreatedIcons(); this.m_ShowReInstall = allowReInstall; this.m_ReInstallPackage = true; this.m_TreeViewState = (TreeViewState) null; this.m_Tree = (PackageImportTreeView) null; this.m_ImportPackageItems = items; this.m_PackageName = Path.GetFileNameWithoutExtension(packagePath); this.m_PackageIconPath = packageIconPath; this.Repaint(); }
private void EnableChildrenRecursive(TreeViewItem parentItem, PackageImportTreeView.EnabledState state) { if (!parentItem.hasChildren) return; using (List<TreeViewItem>.Enumerator enumerator = parentItem.children.GetEnumerator()) { while (enumerator.MoveNext()) { PackageImportTreeView.PackageImportTreeViewItem current = enumerator.Current as PackageImportTreeView.PackageImportTreeViewItem; current.enableState = state; this.EnableChildrenRecursive((TreeViewItem) current, state); } } }
private void DoPreviewPopup(PackageImportTreeView.PackageImportTreeViewItem pitem, Rect rowRect) { ImportPackageItem importPackageItem = pitem.item; if (importPackageItem == null) return; if (Event.current.type == EventType.MouseDown && rowRect.Contains(Event.current.mousePosition) && !PopupWindowWithoutFocus.IsVisible()) this.showPreviewForID = pitem.id; if (pitem.id != this.showPreviewForID || Event.current.type == EventType.Layout) return; this.showPreviewForID = 0; if (string.IsNullOrEmpty(importPackageItem.previewPath)) return; Texture2D preview = PackageImport.GetPreview(importPackageItem.previewPath); Rect activatorRect = rowRect; activatorRect.width = EditorGUIUtility.currentViewWidth; PopupWindowWithoutFocus.Show(activatorRect, (PopupWindowContent) new PackageImportTreeView.PreviewPopup(preview), new PopupLocationHelper.PopupLocation[3] { PopupLocationHelper.PopupLocation.Right, PopupLocationHelper.PopupLocation.Left, PopupLocationHelper.PopupLocation.Below }); }
private void RecursiveComputeEnabledStateForFolders(PackageImportTreeView.PackageImportTreeViewItem pitem, HashSet<PackageImportTreeView.PackageImportTreeViewItem> done) { if (!pitem.isFolder) { return; } if (pitem.hasChildren) { foreach (TreeViewItem current in pitem.children) { this.RecursiveComputeEnabledStateForFolders(current as PackageImportTreeView.PackageImportTreeViewItem, done); } } if (!done.Contains(pitem)) { PackageImportTreeView.Amount folderChildrenEnabledState = this.GetFolderChildrenEnabledState(pitem); pitem.item.enabled = (int)folderChildrenEnabledState; if (folderChildrenEnabledState == PackageImportTreeView.Amount.Mixed) { done.Add(pitem); for (PackageImportTreeView.PackageImportTreeViewItem packageImportTreeViewItem = pitem.parent as PackageImportTreeView.PackageImportTreeViewItem; packageImportTreeViewItem != null; packageImportTreeViewItem = (packageImportTreeViewItem.parent as PackageImportTreeView.PackageImportTreeViewItem)) { if (!done.Contains(packageImportTreeViewItem)) { packageImportTreeViewItem.item.enabled = 2; done.Add(packageImportTreeViewItem); } } } } }
private bool ItemShouldBeConsideredForEnabledCheck(PackageImportTreeView.PackageImportTreeViewItem pitem) { if (pitem == null) return false; if (pitem.item == null) return true; ImportPackageItem importPackageItem = pitem.item; return !importPackageItem.projectAsset && (importPackageItem.isFolder || importPackageItem.assetChanged || this.doReInstall); }
private PackageImportTreeView.Amount GetFolderChildrenEnabledState(PackageImportTreeView.PackageImportTreeViewItem folder) { if (!folder.isFolder) { Debug.LogError("Should be a folder item!"); } if (!folder.hasChildren) { return PackageImportTreeView.Amount.None; } PackageImportTreeView.Amount amount = PackageImportTreeView.Amount.NotSet; PackageImportTreeView.PackageImportTreeViewItem packageImportTreeViewItem = folder.children[0] as PackageImportTreeView.PackageImportTreeViewItem; int enabled = packageImportTreeViewItem.item.enabled; for (int i = 1; i < folder.children.Count; i++) { if (enabled != (folder.children[i] as PackageImportTreeView.PackageImportTreeViewItem).item.enabled) { amount = PackageImportTreeView.Amount.Mixed; break; } } if (amount == PackageImportTreeView.Amount.NotSet) { amount = ((enabled != 1) ? PackageImportTreeView.Amount.None : PackageImportTreeView.Amount.All); } return amount; }
private PackageImportTreeView.EnabledState GetFolderChildrenEnabledState(PackageImportTreeView.PackageImportTreeViewItem folder) { if (folder.item != null && !folder.item.isFolder) Debug.LogError((object) "Should be a folder item!"); if (!folder.hasChildren) return PackageImportTreeView.EnabledState.None; PackageImportTreeView.EnabledState enabledState = PackageImportTreeView.EnabledState.NotSet; int index1; for (index1 = 0; index1 < folder.children.Count; ++index1) { PackageImportTreeView.PackageImportTreeViewItem child = folder.children[index1] as PackageImportTreeView.PackageImportTreeViewItem; if (this.ItemShouldBeConsideredForEnabledCheck(child)) { enabledState = child.enableState; break; } } for (int index2 = index1 + 1; index2 < folder.children.Count; ++index2) { PackageImportTreeView.PackageImportTreeViewItem child = folder.children[index2] as PackageImportTreeView.PackageImportTreeViewItem; if (this.ItemShouldBeConsideredForEnabledCheck(child) && enabledState != child.enableState) { enabledState = PackageImportTreeView.EnabledState.Mixed; break; } } if (enabledState == PackageImportTreeView.EnabledState.NotSet) return PackageImportTreeView.EnabledState.None; return enabledState; }