private void PopulateChildren(TreeItemModel item, string dir) { try { string[] subdirs = Directory.GetDirectories(dir); foreach (var subdir in subdirs) { TreeItemModel childItem = new TreeItemModel() { Text = Path.GetFileName(subdir), FullPath = subdir }; PopulateChildren(childItem, subdir); item.Children.Add(childItem); } string[] files = Directory.GetFiles(dir); foreach (var file in files) { TreeItemModel childItem = new TreeItemModel() { Text = Path.GetFileName(file), FullPath = file, IsFile = true }; item.Children.Add(childItem); } } catch (UnauthorizedAccessException ex) { MessageBox.Show(ex.Message, "SuperbEdit", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
public override IEnumerable <TreeItemModel> GetSceneNodes() { foreach (var holder in PaletteHolders.Values) { if (holder.Name == PaletteType.Decal) { continue; } var paletteNode = new TreeItemModel { Header = holder.Name, IsChecked = true }; for (int i = 0; i < holder.Elements.Count; i++) { var info = holder.GetInfoForIndex(i); var itemNode = info.TreeItem = new TreeItemModel { Header = info.Placement.GetDisplayName(), IsChecked = true, Tag = info.Element }; paletteNode.Items.Add(itemNode); } if (paletteNode.HasItems) { yield return(paletteNode); } } }
private void PopulateTree() { RootItems = new ObservableCollection <TreeItemModel>(); string[] subdirs = Directory.GetDirectories(CurrentFolder); foreach (var dir in subdirs) { TreeItemModel rootItem = new TreeItemModel() { Text = Path.GetFileName(dir), FullPath = dir }; PopulateChildren(rootItem, dir); RootItems.Add(rootItem); } string[] files = Directory.GetFiles(CurrentFolder); foreach (var file in files) { TreeItemModel rootItem = new TreeItemModel() { Text = Path.GetFileName(file), FullPath = file, IsFile = true }; RootItems.Add(rootItem); } }
private void BuildClassTree(string filter) { var result = new List <TreeItemModel>(); var classGroups = cache.TagIndex .Where(i => FilterTag(filter, i)) .GroupBy(i => i.ClassName); foreach (var g in classGroups.OrderBy(g => g.Key)) { var node = new TreeItemModel { Header = g.Key }; foreach (var i in g.OrderBy(i => i.FullPath)) { node.Items.Add(new TreeItemModel { Header = i.FullPath, Tag = i }); } result.Add(node); } rootNode.Items.Reset(result); }
private void BuildClassTree(string filter) { var result = new List <TreeItemModel>(); var classGroups = module.GetTagClasses() .SelectMany(c => module.GetItemsByClass(c.ClassCode)) .Where(i => FilterTag(filter, i)) .GroupBy(i => i.ClassName); foreach (var g in classGroups.OrderBy(g => g.Key)) { var node = new TreeItemModel { Header = g.Key }; foreach (var i in g.OrderBy(i => i.FullPath)) { node.Items.Add(new TreeItemModel { Header = i.FullPath, Tag = i }); } result.Add(node); } rootNode.Items.Reset(result); }
private TreeItemModel MapTreeItemModel(TreeItem treeItem, string parentLevel = null) { var model = new TreeItemModel(); model.Id = treeItem.Id.ToString(); string currentLevel; if (!string.IsNullOrEmpty(parentLevel)) { model.Title = $"node.{parentLevel}.{model.Id}"; currentLevel = $"{parentLevel}.{treeItem.Id}"; } else { model.Title = $"node.{model.Id}"; currentLevel = $"{treeItem.Id}"; } var nodes = new List <TreeItemModel>(); foreach (var treeItemChild in treeItem.Children) { nodes.Add(MapTreeItemModel(treeItemChild, currentLevel)); } model.Nodes = nodes; return(model); }
public static TreeModel GetModel() { TreeModel treeModel = new TreeModel(); TreeItemModel treeItemModel = new TreeItemModel(treeModel) { Id = 1, Name = "Root folder", ParentId = null }; treeModel.Add(treeItemModel); treeItemModel = new TreeItemModel(treeModel) { Id = 2, Name = "Level 0 folder", ParentId = 1 }; treeModel.Add(treeItemModel); treeItemModel = new TreeItemModel(treeModel) { Id = 3, Name = "Level 1 element", ParentId = 2 }; treeModel.Add(treeItemModel); return(treeModel); }
private void BuildItemTree(string filter) { var result = new List <TreeItemModel>(); var itemGroups = pak.Items .Where(i => FilterTag(filter, i)) .GroupBy(i => i.ItemType.ToString()); foreach (var g in itemGroups.OrderBy(g => g.Key)) { var node = new TreeItemModel { Header = g.Key }; foreach (var item in g.OrderBy(i => i.Name)) { node.Items.Add(new TreeItemModel { Header = item.Name, Tag = item }); } result.Add(node); } rootNode.Items.Reset(result); }
public void SelectItem(object sender, RoutedEventArgs e) { TreeView tw = sender as TreeView; list = tw.ItemsSource as ObservableCollection <TreeItemModel>; item = tw.SelectedItem as TreeItemModel; TabPageModel.SelectedItem = item; if (item.ItemName != "thread") { Name.IsEnabled = true; Name.Text = item.Name; Time.IsEnabled = true; Time.Text = Convert.ToString(item.Time); Package.IsEnabled = true; Package.Text = item.Package; ParamsCount.IsEnabled = true; ParamsCount.Text = Convert.ToString(item.ParamsCount); SaveBtn.IsEnabled = true; } else { Name.IsEnabled = false; Name.Text = ""; Time.IsEnabled = false; Time.Text = ""; Package.IsEnabled = false; Package.Text = ""; ParamsCount.IsEnabled = false; ParamsCount.Text = ""; SaveBtn.IsEnabled = false; } }
private void RecursiveCollapseNode(TreeItemModel node) { foreach (var n in node.Items) { RecursiveCollapseNode(n); } node.IsExpanded = false; }
public TriggerVolumeComponentManager(ScenarioModel scenario) : base(scenario) { sceneNode = new TreeItemModel { Header = "trigger volumes", IsChecked = true }; TriggerVolumes = new ObservableCollection <BoxManipulator3D>(); }
public MemberManagementViewModel() { RegisterPageMemberModel = new MemberModel(); ListPageMemberModel = new MemberModel(); TreeItemModel = new TreeItemModel(); SearchBar = new SearchBarViewModel(); TreeViewMaker.InitializeTreeView(TreeItemModel); }
private TreeItemModel MapNewTreeItemModel(TreeItem treeItem) { var item = new TreeItemModel(); item.Id = treeItem.Id.ToString(); item.Title = GetFullTitle(treeItem); return(item); }
public void OpenItem(TreeItemModel item) { if (item.IsFile) { ITab fileTabViewModel = tabService.RequestDefaultTab(); fileTabViewModel.SetFile(item.FullPath); shell.Value.OpenTab(fileTabViewModel); } }
private void SetState(TreeItemModel item, bool updateRender) { if (item.HasItems == false) //permutation { var parent = item.Parent as TreeItemModel; var children = parent.Items.Where(i => i.IsVisible); if (children.All(i => i.IsChecked == true)) { parent.IsChecked = true; } else if (children.All(i => i.IsChecked == false)) { parent.IsChecked = false; } else { parent.IsChecked = null; } if (updateRender) { var group = (item.Tag as MeshTag).Mesh; if (item.IsChecked == true && !modelGroup.Children.Contains(group)) { modelGroup.Children.Add(group); } else if (item.IsChecked == false) { modelGroup.Children.Remove(group); } } } else //region { foreach (var i in item.Items.Where(i => i.IsVisible)) { var group = (i.Tag as MeshTag).Mesh; i.IsChecked = item.IsChecked; if (updateRender) { if (i.IsChecked == true && !modelGroup.Children.Contains(group)) { modelGroup.Children.Add(group); } else if (i.IsChecked == false) { modelGroup.Children.Remove(group); } } } } }
// If you have install the code sniplets, use "propvm + [tab] +[tab]" create a property propcmd for command // 如果您已经安装了 MVVMSidekick 代码片段,请用 propvm +tab +tab 输入属性 propcmd 输入命令 public MultiLevelSelection_Model() { if (IsInDesignMode) { } var rval = Enumerable.Range(0, 3) .Select( i => { var item = new TreeItemModel <string, string> { State = "Item" + i.ToString() }; PopulateVNext(item); foreach (TreeItemModel <string, string> itmlv2 in item.Children) { PopulateVNext(itmlv2); } return(item); } ); foreach (var item in rval) { TreeRoots.Add(item); } Level1Selection.GetValueContainer(x => x.SelectedItem) .GetNullObservable() .Where(_ => Level1Selection.SelectedItem != null) .Subscribe( _ => { Level2Selection.Items = new ObservableCollection <TreeItemModel <string, string> >(Level1Selection.SelectedItem.Children.Cast <TreeItemModel <string, string> >()); } ); Level2Selection.GetValueContainer(x => x.SelectedItem) .GetNullObservable() .Where(_ => Level2Selection.SelectedItem != null) .Subscribe( _ => { Level3Selection.Items = new ObservableCollection <TreeItemModel <string, string> >(Level2Selection.SelectedItem.Children.Cast <TreeItemModel <string, string> >()); } ); }
private void changeDataInItem(ObservableCollection <TreeItemModel> items, TreeItemModel currentItem) { foreach (TreeItemModel tim in items) { if (tim.Equals(currentItem)) { tim.Name = Name.Text; tim.Package = Package.Text; tim.ParamsCount = Int32.Parse(ParamsCount.Text); tim.Time = Int32.Parse(Time.Text); } changeDataInItem(tim.Items, currentItem); } }
public override IEnumerable <TreeItemModel> GetSceneNodes() { sceneNode.Items.Clear(); foreach (var tv in TriggerVolumes) { var tvNode = new TreeItemModel { Header = (tv.DataContext as TriggerVolume).GetDisplayName(), IsChecked = true, Tag = tv }; sceneNode.Items.Add(tvNode); } yield return(sceneNode); }
public override IEnumerable <TreeItemModel> GetSceneNodes() { var bspNode = new TreeItemModel { Header = BspHolder.Name, IsChecked = true }; for (int i = 0; i < BspHolder.Elements.Count; i++) { var bsp = BspHolder.Elements[i]; if (bsp == null) { continue; } var tag = scenario.Bsps[i].Tag; var permNode = new TreeItemModel { Header = tag?.FileName() ?? NullTagName, IsChecked = true, Tag = bsp }; bspNode.Items.Add(permNode); } var skyNode = new TreeItemModel { Header = SkyHolder.Name, IsChecked = true }; for (int i = 0; i < SkyHolder.Elements.Count; i++) { var sky = SkyHolder.Elements[i]; if (sky == null) { continue; } var tag = scenario.Skies[i].Tag; var permNode = new TreeItemModel { Header = tag?.FileName() ?? NullTagName, IsChecked = true, Tag = sky }; skyNode.Items.Add(permNode); } if (bspNode.HasItems) { yield return(bspNode); } if (skyNode.HasItems) { yield return(skyNode); } }
protected virtual void BindTreeData() { this.EnsureChildControls(); _treeContent.Controls.Clear(); #region Create Root element if it's needed if (HasRootElement) { TreeItemModel rootItem = new TreeItemModel(); rootItem.ID = Guid.Empty; rootItem.Name = RootElementName; if (FlatDataModel.Where(i => i.ID == Guid.Empty).Count() == 0) { FlatDataModel.Add(rootItem); } } #endregion var hierarchyDataModel = CreateHierarchyFromFlat(FlatDataModel, HasRootElement); #region Create TreeItems if (EventHandler == null) { EventHandler = new EventHandler <SelectionChangeEventArgs>(this.SelectionChangeHandler); } foreach (var item in hierarchyDataModel) { DLTreeItem temp = new DLTreeItem(this.ClientID, item); temp.SelectionChange += EventHandler; _treeContent.Controls.Add(temp); } #endregion this.Controls.Add(new LiteralControl("<ul id='tree'>")); this.Controls.Add(_treeContent); this.Controls.Add(new LiteralControl("</ul>")); if (FlatDataModel == null || !FlatDataModel.Any()) { this.Controls.Add(new LiteralControl("<span>" + _emptyStuctureLabel + "</span>")); } }
protected override void OnInitialized() { base.OnInitialized(); level = (ParentTreeItem?.level + 1) ?? 0; var treeItemModel = new TreeItemModel() { Direction = "right", Expanded = false, ParentId = ParentTreeItem?.Id ?? 0, Text = Text, Level = level, Id = Id }; Tree.AddChild(treeItemModel); }
private void changeTime(TreeItemModel items, int diff) { int tempTime = 0; foreach (TreeItemModel tim in items.Items) { if (!tim.Equals(item)) { changeTime(tim, diff); tempTime = tim.Time; tim.Time = tempTime + diff; } else { break; } } }
private static void PopulateVNext(TreeItemModel <string, string> item) { var lvn = Enumerable.Range(0, 3) .Select( j => { var itemlv1 = new TreeItemModel <string, string> { State = item.State + j.ToString(), Parent = item }; return(itemlv1); } ); foreach (var itlv in lvn) { item.Children.Add(itlv); } }
private void BatchQueue(TreeItemModel node, string outputFolder) { if (node.HasItems) { foreach (var child in node.Items) { BatchQueue(child, outputFolder); } } else { var item = GetExtractable(node.Tag, outputFolder); if (item != null) { extractionQueue.Enqueue(item); } } }
private void addNodeXml(TreeItemModel item, ref XElement thread) { foreach (TreeItemModel tempItem in item.Items) { XElement xmlMethod = new XElement(tempItem.ItemName); XAttribute attr; attr = new XAttribute("name", tempItem.Name); xmlMethod.Add(attr); attr = new XAttribute("time", tempItem.Time); xmlMethod.Add(attr); attr = new XAttribute("package", tempItem.Package); xmlMethod.Add(attr); attr = new XAttribute("paramsCount", tempItem.ParamsCount); xmlMethod.Add(attr); addNodeXml(tempItem, ref xmlMethod); thread.Add(xmlMethod); } }
private TreeItemModel MakeNode(IList <TreeItemModel> root, IDictionary <string, TreeItemModel> lookup, string path, bool inner = false) { if (lookup.ContainsKey(path)) { return(lookup[path]); } var index = path.LastIndexOf('\\'); var branch = index < 0 ? null : path.Substring(0, index); var leaf = index < 0 ? path : path.Substring(index + 1); var item = new TreeItemModel(leaf); lookup.Add(path, item); if (branch == null) { if (inner) { root.Insert(root.LastIndexWhere(n => n.HasItems) + 1, item); } else { root.Add(item); } return(item); } var parent = MakeNode(root, lookup, branch, true); if (inner) { parent.Items.Insert(parent.Items.LastIndexWhere(n => n.HasItems) + 1, item); } else { parent.Items.Add(item); } return(item); }
private void SetState(TreeItemModel item, bool updateRender) { if (item.HasItems == false) //permutation { var parent = item.Parent as TreeItemModel; if (parent != null) { var children = parent.Items.Where(i => i.IsVisible); if (children.All(i => i.IsChecked == true)) { parent.IsChecked = true; } else if (children.All(i => i.IsChecked == false)) { parent.IsChecked = false; } else { parent.IsChecked = null; } } if (updateRender) { (item.Tag as IMeshNode)?.SetVisibility(item.IsChecked ?? false); } } else //region { foreach (var i in item.Items.Where(i => i.IsVisible)) { i.IsChecked = item.IsChecked; if (updateRender) { (i.Tag as IMeshNode)?.SetVisibility(i.IsChecked ?? false); } } } }
public static void InitializeTreeView(TreeItemModel treeItemModel) { treeItemModel.TreeCategories.Add(new TreeCategory() { Name = "10대" }); treeItemModel.TreeCategories.Add(new TreeCategory() { Name = "20대" }); treeItemModel.TreeCategories.Add(new TreeCategory() { Name = "그 외" }); foreach (MemberModel member in MemberModels.members) { TreeCategory treeCategory = FindNewParent(treeItemModel.TreeCategories, member.Age); treeCategory.Children.Add(member); } }
protected override void DoProcess(GetLayoutServiceContextArgs args, AppConfiguration application) { var renderedItem = args.RenderedItem; var database = renderedItem?.Database; if (renderedItem == null || database == null) { return; } var current = new TreeItemModel { key = renderedItem.ID.ToShortID().ToString(), parent = renderedItem.ParentID.ToShortID().ToString(), title = string.IsNullOrWhiteSpace(renderedItem.DisplayName) ? renderedItem.Name : renderedItem.DisplayName, path = renderedItem.GetItemRelativeURL(), icon = "/temp/IconCache/" + renderedItem.Appearance.Icon, workflow = renderedItem.GetWorkflowState(), template = renderedItem.TemplateName }; var result = new List <TreeItemModel> { current }; result.AddRange( database.SelectItems(renderedItem.Paths.FullPath + "//*").Where(q => q.DoesItemHasPresentationDetails()).Select( q => new TreeItemModel { key = q.ID.ToShortID().ToString(), parent = q.ParentID.ToShortID().ToString(), title = string.IsNullOrWhiteSpace(q.DisplayName) ? q.Name : q.DisplayName, path = q.GetItemRelativeURL(), icon = "/temp/IconCache/" + q.Appearance.Icon, workflow = q.GetWorkflowState(), template = q.TemplateName })); args.ContextData.Add(objectKey, result); }
public void LoadModule(string fileName) { module = new Module(fileName); rootNode = new TreeItemModel(module.FileName); tv.ItemsSource = rootNode.Items; TabModel.Header = Utils.GetFileName(module.FileName); TabModel.ToolTip = $"Module Viewer - {TabModel.Header}"; foreach (var item in globalMenuButton.MenuItems.OfType <MenuItem>()) { item.Click -= GlobalContextItem_Click; } globalMenuButton.MenuItems.Clear(); var globalHandlers = Substrate.GetContextItems(GetFolderArgs(rootNode)); HasGlobalHandlers = globalHandlers.Any(); if (HasGlobalHandlers) { foreach (var item in globalHandlers) { globalMenuButton.MenuItems.Add(new MenuItem { Header = item.Path, Tag = item }); } foreach (var item in globalMenuButton.MenuItems.OfType <MenuItem>()) { item.Click += GlobalContextItem_Click; } } HierarchyView = ModuleViewerPlugin.Settings.HierarchyView; BuildTagTree(null); }