public static List <TreeViewItemModel> GetFileFolderModel(string path, string topFolder, string user)
        {
            string[] roles = Roles.GetRolesForUser(user);
            string   role  = roles[0];
            string   site  = DbUtils.GetSiteNameForUser(user);

            var list     = new List <TreeViewItemModel>();
            var tvParent = new TreeViewItemModel();

            tvParent.Text     = topFolder;
            tvParent.ImageUrl = "~/Content/Images/folder.png";
            tvParent.Expanded = true;

            list.Add(tvParent);
            foreach (string f in Directory.GetFiles(path))
            {
                var tvChild = new TreeViewItemModel();
                tvChild.Text        = Path.GetFileName(f);
                tvChild.ImageUrl    = "~/Content/Images/file.png";
                tvChild.NavigateUrl = "~/Download/Getfile/" + tvChild.Text + "/" + topFolder;
                tvParent.Items.Add(tvChild);
            }

            GetFolderFiles(path, topFolder, tvParent, role, site);
            return(list);
        }
Example #2
0
        private TreeViewItemModel BuildTree(List <TreeViewItemModel> data, T dataItem, string groupByName)
        {
            var aProp = dataItem.GetType().GetTypeInfo().GetDeclaredProperty(groupByName);

            if (aProp == null)
            {
                throw new Exception($"Cannot find property named {groupByName}");
            }

            var propValue = aProp.GetValue(dataItem);

            var product = propValue?.ToString() ?? "Unknown";

            var item = data.FirstOrDefault(x => x.Name.Equals(product));

            if (item == null)
            {
                item = new TreeViewItemModel()
                {
                    Name = product,
                };

                data.Add(item);
            }

            return(item);
        }
Example #3
0
        public static List <TreeViewItemModel> ToKendoTreeViewItemModelList_todo(this DocumentTreeModels documents)
        {
            List <Kendo.Mvc.UI.TreeViewItemModel> result = null;

            if (documents?.Documents == null || !documents.Documents.Any())
            {
                return(null);
            }

            var topMenuItems = DocumentTreeModelsExtensions.GetChildItems(documents, 0);

            result = new List <TreeViewItemModel>();

            foreach (var topMenuItem in topMenuItems)
            {
                TreeViewItemModel topMenuTreeItem = DocumentTreeModelsExtensions.CreateKendoTreeViewModel(topMenuItem);
                result.Add(topMenuTreeItem);

                if (!topMenuItem.IsDocument)
                {
                    var children = DocumentTreeModelsExtensions.GetChildItems(documents, topMenuItem.Id);
                    if (children != null && children.Any())
                    {
                        DocumentTreeModelsExtensions.ProcessSubDocuments(documents, children, ref topMenuTreeItem);
                    }
                }
            }
            return(result);
        }
Example #4
0
 internal void CreateItem()
 {
     item = new TreeViewItemModel(null)
     {
         Title = Utilities.GetInterfaceString("tree_cars", "train")
     };
     item.Children.Add(new TreeViewItemModel(Item)
     {
         Title = Utilities.GetInterfaceString("tree_cars", "general")
     });
     item.Children.Add(new TreeViewItemModel(Item)
     {
         Title = Utilities.GetInterfaceString("tree_cars", "cars")
     });
     item.Children.Add(new TreeViewItemModel(Item)
     {
         Title = Utilities.GetInterfaceString("tree_cars", "couplers")
     });
     item.Children[1].Children = new ObservableCollection <TreeViewItemModel>(Train.Cars.Select((x, i) => new TreeViewItemModel(Item.Children[1])
     {
         Title = i.ToString(culture), Tag = x
     }));
     item.Children[2].Children = new ObservableCollection <TreeViewItemModel>(Train.Couplers.Select((x, i) => new TreeViewItemModel(Item.Children[2])
     {
         Title = i.ToString(culture), Tag = x
     }));
     OnPropertyChanged(new PropertyChangedEventArgs(nameof(Item)));
 }
        public JsonResult TreeViewTestContent(string id)
        {
            List <TreeViewItemModel> items = new List <TreeViewItemModel>();
            TreeViewItemModel        aItem = new TreeViewItemModel();

            aItem.data = new TreeViewItemModelData
            {
                title = "Node 1",
                icon  = "folder"
            };
            aItem.attr = new TreeViewItemModelAttributes
            {
                id = "1",
                other_attribute = "additional data can go here"
            };
            aItem.state = "closed";

            items.Add(aItem);

            aItem      = new TreeViewItemModel();
            aItem.data = new TreeViewItemModelData
            {
                title = "Node 2",
                icon  = "folder"
            };
            aItem.attr = new TreeViewItemModelAttributes
            {
                id = "2",
                other_attribute = "additional data can go here"
            };
            aItem.state = "closed";

            items.Add(aItem);
            return(Json(items, JsonRequestBehavior.AllowGet));
        }
Example #6
0
        /// <summary>
        /// Builds the directory tree. A value of null for 'parentItem' denotes the root node.
        /// </summary>
        /// <param name="directory"></param>
        /// <param name="parentItem"></param>
        /// <returns>A TreeViewItem structure</returns>
        public TreeViewItemModel GetDirectoryRecursive(DirectoryInfo directory, TreeViewItemModel parentItem, HttpContextBase ctx)
        {
            // If 'parentNode' is null, assume we're starting at the upload path
            string path = parentItem != null?
                          Path.Combine(parentItem.Value, directory.Name) :
                              directory.FullName;

            // Get or initalize list in session
            if (ctx.Session[NetAdvImageSettings._netAdvImageTreeStateSessionKey] == null)
            {
                ctx.Session[NetAdvImageSettings._netAdvImageTreeStateSessionKey] = new List <string>();
            }
            List <string> expandedNodes = ctx.Session[NetAdvImageSettings._netAdvImageTreeStateSessionKey] as List <string>;

            // Create a new TreeViewItem
            TreeViewItemModel item = new TreeViewItemModel()
            {
                Text     = directory.Name,
                Value    = path,
                ImageUrl = "/Scripts/tinymce/plugins/netadvimage/img/folder-horizontal.gif",
                Enabled  = true,
                Expanded = parentItem == null ?
                           true :                       // Expand the root node
                           expandedNodes.Contains(path) // Or... get expanded state from session
            };

            // Recurse through the current directory's sub-directories
            foreach (DirectoryInfo child in directory.GetDirectories())
            {
                TreeViewItemModel childNode = GetDirectoryRecursive(child, item, ctx);
                item.Items.Add(childNode);
            }

            return(item);
        }
Example #7
0
        private TreeViewItemModel ConvertTreeViewItemModel(UserDefinition item)
        {
            var model = new TreeViewItemModel
            {
                Text          = item.DisplaySignature,
                TreeNodeKinds = ConvertTreeNodeKinds(item.DefineKinds),
                FileName      = SourceFile,
                StartLength   = item.StartLength,
                EndLength     = item.EndLength,
            };

            // enum の場合、子ノードにメンバーを追加
            if (item.DefineKinds == DefineKinds.Enum && item.EnumMembers.Any())
            {
                foreach (var member in item.EnumMembers)
                {
                    var memberModel = new TreeViewItemModel
                    {
                        Text          = member,
                        TreeNodeKinds = ConvertTreeNodeKinds(item.DefineKinds, true),
                        StartLength   = item.StartLength,
                        EndLength     = item.EndLength,
                    };

                    model.Children.Add(memberModel);
                }

                model.IsExpanded = true;
            }

            return(model);
        }
Example #8
0
        private TreeViewItemModel CreatePanelElementsTreeItem(TreeViewItemModel parent)
        {
            TreeViewItemModel newItem = new TreeViewItemModel(parent)
            {
                Title = "PanelElements"
            };

            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "PilotLamps"
            });
            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "Needles"
            });
            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "DigitalNumbers"
            });
            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "DigitalGauges"
            });
            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "LinearGauges"
            });
            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "Timetables"
            });
            return(newItem);
        }
        public async Task <IViewComponentResult> InvokeAsync(string navMenuId, string itemId = null)
        {
            if (string.IsNullOrEmpty(navMenuId))
            {
                return(new ViewComponentPlaceholder());
            }

            var navMenu = await _navigationMenuManager.GetFullNavMenuAsync(navMenuId);

            if (navMenu == null)
            {
                return(new ViewComponentPlaceholder());
            }

            var model = new NavigationMenuViewModel();

            model.Id     = navMenu.Id;
            model.SiteId = navMenu.SiteId;
            model.Title  = navMenu.Title;
            foreach (var item in navMenu.MenuItems)
            {
                var node = new TreeViewItemModel();
                LoadItemIntoNode(item, node);
                model.Items.Add(node);
            }
            if (!string.IsNullOrEmpty(itemId))
            {
                ExpandToNode(itemId, model.Items);
            }

            ViewData["FormTitle"] = "Edit Navigation Menu:";
            return(View(model));
        }
Example #10
0
        internal TreeViewItemViewModel(TreeViewItemModel item)
        {
            Model = item;

            Title = item
                    .ObserveProperty(x => x.Title)
                    .ToReadOnlyReactivePropertySlim()
                    .AddTo(disposable);

            Tag = item
                  .ObserveProperty(x => x.Tag)
                  .ToReadOnlyReactivePropertySlim()
                  .AddTo(disposable);

            Children = item.Children
                       .ToReadOnlyReactiveCollection(x => new TreeViewItemViewModel(x))
                       .AddTo(disposable);

            new[]
            {
                Children.CollectionChangedAsObservable().OfType <object>(),
                Children.ObserveElementObservableProperty(x => x.Title).OfType <object>(),
                Children.ObserveElementObservableProperty(x => x.Tag).OfType <object>(),
                Children.ObserveElementProperty(x => x.Children).OfType <object>()
            }
            .Merge()
            .Subscribe(_ => OnPropertyChanged(new PropertyChangedEventArgs(nameof(Children))))
            .AddTo(disposable);
        }
Example #11
0
        Tuple <System.Collections.ObjectModel.ObservableCollection <TreeViewItemModel <T> >, IEnumerable <TreeViewItemModel <T> > > BuildTree <T>(IEnumerable <T> dataSource)
        {
            mSeq = 1; // 重新初始化 mSeq

            List <TreeViewItemModel <T> > flatList = new List <TreeViewItemModel <T> >();

            var itemsSource   = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemModel <T> >();
            var matchRootList = dataSource.Where(i => i.GetType().GetProperty("ParentId").GetValue(i, null) == null);

            foreach (var item in matchRootList)
            {
                TreeViewItemModel <T> toAdd = digui <T>
                                              (
                    dataSource: dataSource,
                    item: item,
                    parent: null,
                    flatList: flatList,
                    level: 1,
                    isCascade: this.IsCascade
                                              );
                itemsSource.Add(toAdd);
                flatList.Add(toAdd);
            }

            return(new Tuple <System.Collections.ObjectModel.ObservableCollection <TreeViewItemModel <T> >, IEnumerable <TreeViewItemModel <T> > >(itemsSource, flatList));
        }
Example #12
0
 /// <summary>
 /// (递归)向父对象发送重新计算 IsChecked属性的通知
 /// </summary>
 /// <param name="m"></param>
 void digui_Parent_IsChecked_PropertyChanged(TreeViewItemModel <T> m)
 {
     if (m.Parent != null)
     {
         m.Parent.OnPropertyChanged("IsChecked");
         digui_Parent_IsChecked_PropertyChanged(m.Parent);
     }
 }
Example #13
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dataSource"></param>
        /// <param name="item"></param>
        /// <param name="parent"></param>
        /// <param name="level"></param>
        /// <param name="isCascade"></param>
        /// <returns></returns>
        TreeViewItemModel <T> digui <T>(IEnumerable <T> dataSource, T item, TreeViewItemModel <T> parent, System.Collections.IList flatList, int level, bool isCascade)
        {
            dynamic dItem = item;

            TreeViewItemModel <T> toAdd = new TreeViewItemModel <T>(item);

            toAdd.Level      = level;
            toAdd.Id         = dItem.Id.ToString();
            toAdd.IsCascade  = isCascade;
            toAdd.IsChecked  = false;
            toAdd.IsExpanded = this.ExpandedLevel >= level;
            toAdd.Children   = null;
            toAdd.Seq        = mSeq++;

            if (level == 1)
            {
                toAdd.Parent   = null;
                toAdd.ParentId = null;
            }
            else
            {
                toAdd.Parent   = parent;
                toAdd.ParentId = parent.Id.ToString();
            }

            toAdd.PropertyChanged += TreeViewItemModel_PropertyChanged;

            var children = dataSource.Where
                           (
                i => i.GetType().GetProperty("ParentId").GetValue(i, null) != null &&
                i.GetType().GetProperty("ParentId").GetValue(i, null).ToString() == dItem.Id.ToString()
                           );

            toAdd.IsBranch = false;
            foreach (var childItem in children)
            {
                if (toAdd.IsBranch == false)
                {
                    toAdd.Children = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemModel <T> >();
                    toAdd.IsBranch = true;
                }

                var child = digui
                            (
                    dataSource: dataSource,
                    item: childItem,
                    parent: toAdd,
                    flatList: flatList,
                    level: level + 1,
                    isCascade: isCascade
                            );

                toAdd.Children.Add(child);
                flatList.Add(child);
            }

            return(toAdd);
        }
Example #14
0
        /// <summary>
        /// Convert to tree item model.
        /// </summary>
        /// <param name="dir">Directory info.</param>
        /// <returns>Tree view item model.</returns>
        public static TreeViewItemModel ConvertToTreeItemModel(this DirectoryInfo dir)
        {
            var treeViewItem = new TreeViewItemModel
            {
                Name = dir.Name,
                Path = dir.FullName
            };

            return(treeViewItem);
        }
Example #15
0
        private void AddMember(TreeViewItemModel parent, string parentNamespace)
        {
            // インナークラスなど、クラス内で定義したクラス等を除くものを取得
            // namespace, class, struct, interface, module, enum, delegate, event, field, property, method(Operator, WindowsAPI, EventHandler, method)

            // インナークラスのメンバーが、親クラスのメンバーとして登録されてしまうバグの対応
            // ループ中、再帰ループから戻ってきた際、rows がおかしくなる挙動のため(遅延評価の影響か)、
            // IEnumerable のままから List に変換して、コレクションを確定してからループするように修正

            // partial クラスのメンバー分が表示されないバグ、継承元クラスのメンバーが表示されないバグの対応
            // Where 句内の SourceFile フィルタを外した
            var rows = AppEnv.UserDefinitions
                       .Where(x => x.Namespace == parentNamespace)
                       .ToList();

            var item = default(TreeViewItemModel);

            if (rows is null || !rows.Any())
            {
                return;
            }

            foreach (var row in rows)
            {
                switch (row.DefineKinds)
                {
                case DefineKinds.Namespace:
                    break;

                case DefineKinds.Class:
                case DefineKinds.Struct:
                case DefineKinds.Interface:
                case DefineKinds.Module:

                    item = ConvertTreeViewItemModel(row);
                    parent.Children.Add(item);

                    parentNamespace = row.DefineFullName;
                    AddMember(item, parentNamespace);

                    if (item.Children.Any())
                    {
                        item.IsExpanded = true;
                    }

                    break;

                default:

                    item = ConvertTreeViewItemModel(row);
                    parent.Children.Add(item);
                    break;
                }
            }
        }
        /// <summary>
        /// If the user has not been setup in OscarWeb then display an empty menu tree
        /// </summary>
        /// <returns></returns>
        private static List <TreeViewItemModel> GetEmptyTreeMenu()
        {
            var result = new List <TreeViewItemModel>();
            TreeViewItemModel emptymenuitem = new TreeViewItemModel
            {
                Id   = "0",
                Text = StringConstants.NoItemsToDisplay
            };

            result.Add(emptymenuitem);
            return(result);
        }
Example #17
0
        private TreeViewItemModel CreateScreenTreeItem(TreeViewItemModel parent, Screen screen)
        {
            TreeViewItemModel newItem = new TreeViewItemModel(parent)
            {
                Title = $"Screen{screen.Number}", Tag = screen
            };

            newItem.Children.Add(CreatePanelElementsTreeItem(newItem));
            newItem.Children.Add(new TreeViewItemModel(newItem)
            {
                Title = "TouchElements"
            });
            return(newItem);
        }
 private void LoadItemIntoNode(NavigationMenuItem item, TreeViewItemModel node)
 {
     node.Id          = item.Id;
     node.Text        = item.Title;
     node.HasChildren = (item.Children.Count > 0);
     //node.Expanded = node.HasChildren;
     node.Enabled = true;
     foreach (var child in item.Children)
     {
         var childNode = new TreeViewItemModel();
         LoadItemIntoNode(child, childNode);
         node.Items.Add(childNode);
     }
 }
Example #19
0
 private void btnQuery_Click(object sender, RoutedEventArgs e)
 {
     if (tree.SelectedItem is TreeViewItemModel)
     {
         TreeViewItemModel org = tree.SelectedItem as TreeViewItemModel;
         if (org != null)
         {
             if (org.Id == 0)
             {
                 LoadReport(org.SMSUnitType);
             }
         }
     }
 }
Example #20
0
        /// <summary>
        /// Convert a list of documents into a Kendo UI tree view for display on the DocumentManager.cshtml page.
        /// </summary>
        /// <param name="documents"></param>
        /// <returns></returns>
        public static List <TreeViewItemModel> ToKendoTreeViewItemModelList(this DocumentTreeModels documents)
        {
            List <Kendo.Mvc.UI.TreeViewItemModel> result = null;

            if (documents?.Documents == null || !documents.Documents.Any())
            {
                return(null);
            }

            var topMenuItems = DocumentTreeModelsExtensions.GetTopLevelItems(documents, 0);

            result = new List <TreeViewItemModel>();

            foreach (var topMenuItem in topMenuItems)
            {
                TreeViewItemModel topMenuTreeItem = DocumentTreeModelsExtensions.CreateKendoTreeViewModel(topMenuItem);
                var children = DocumentTreeModelsExtensions.GetChildItems(documents, topMenuItem.Id);
                if (children != null && children.Any())
                {
                    foreach (var child in children)
                    {
                        var subTopTree = DocumentTreeModelsExtensions.CreateKendoTreeViewModel(child);
                        topMenuTreeItem.Items.Add(subTopTree);
                        var subchildren = DocumentTreeModelsExtensions.GetChildItems(documents, child.Id);
                        if (subchildren == null || !subchildren.Any())
                        {
                            continue;
                        }
                        foreach (var subchild in subchildren)
                        {
                            var subsubTopTree = DocumentTreeModelsExtensions.CreateKendoTreeViewModel(subchild);
                            subTopTree.Items.Add(subsubTopTree);
                            var subsubchildren = DocumentTreeModelsExtensions.GetChildItems(documents, subchild.Id);
                            if (subsubchildren == null || !subsubchildren.Any())
                            {
                                continue;
                            }

                            foreach (var subsubchild in subsubchildren)
                            {
                                var subsubTreechild = DocumentTreeModelsExtensions.CreateKendoTreeViewModel(subsubchild);
                                subsubTopTree.Items.Add(subsubTreechild);
                            }
                        }
                    }
                }
                result.Add(topMenuTreeItem);
            }
            return(result);
        }
Example #21
0
        internal void RemoveCar()
        {
            int index = Train.Cars.IndexOf((Car)SelectedItem.Tag);

            Train.Cars.RemoveAt(index);
            Train.Couplers.RemoveAt(index == 0 ? 0 : index - 1);

            Item.Children[1].Children.RemoveAt(index);
            Item.Children[2].Children.RemoveAt(index == 0 ? 0 : index - 1);
            RenameTreeViewItem(Item.Children[1].Children);
            RenameTreeViewItem(Item.Children[2].Children);

            SelectedItem = null;
        }
Example #22
0
        internal void CopyCar()
        {
            Train.Cars.Add((Car)((Car)SelectedItem.Tag).Clone());
            Train.Couplers.Add(new Coupler());

            Item.Children[1].Children.Add(new TreeViewItemModel(Item.Children[1])
            {
                Title = (Train.Cars.Count - 1).ToString(culture), Tag = Train.Cars.Last()
            });
            Item.Children[2].Children.Add(new TreeViewItemModel(Item.Children[2])
            {
                Title = (Train.Couplers.Count - 1).ToString(culture), Tag = Train.Couplers.Last()
            });
            SelectedItem = Item.Children[1].Children.Last();
        }
Example #23
0
        private void DefinitionDiscoveryContextMenuClick(TreeViewItemModel e)
        {
            var foundVM = Documents.OfType <DefinitionDiscoveryViewModel>().FirstOrDefault(x => x.SelectedItem.FileName == e.FileName);

            if (foundVM is null)
            {
                // 新規登録・表示
                AddDefinitionDiscoveryPane(e);
            }
            else
            {
                // すでに登録済み(表示済み)なので、再アクティブに切り替える
                foundVM.IsSelected = true;
            }
        }
Example #24
0
        private void SolutionFileContextMenuClick(TreeViewItemModel e)
        {
            var foundVM = Documents.OfType <ProjectReferenceViewModel>().FirstOrDefault(x => x.FileName == e.FileName);

            if (foundVM is null)
            {
                // 新規登録・表示
                AddProjectReferencePane(e);
            }
            else
            {
                // すでに登録済み(表示済み)なので、再アクティブに切り替える
                foundVM.IsSelected = true;
            }
        }
Example #25
0
 internal void CreateTreeItem()
 {
     treeItem = new TreeViewItemModel(null)
     {
         Title = "TouchElement"
     };
     treeItem.Children.Add(new TreeViewItemModel(TreeItem)
     {
         Title = "Sounds"
     });
     treeItem.Children.Add(new TreeViewItemModel(TreeItem)
     {
         Title = "Commands"
     });
     OnPropertyChanged(new PropertyChangedEventArgs(nameof(TreeItem)));
 }
Example #26
0
 private void All_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         if (tree.SelectedItem is TreeViewItemModel)
         {
             TreeViewItemModel org = tree.SelectedItem as TreeViewItemModel;
             if (org != null)
             {
                 if (org.Id == 0)
                 {
                     LoadReport(org.SMSUnitType);
                 }
             }
         }
     }
 }
Example #27
0
        private void SourceTreeSelectedItemChanged(TreeViewItemModel e)
        {
            if (e is null || e.FileName != SourceFile)
            {
                return;
            }

            // 通常はキャレット位置が変わったら、TextEditorEx_CaretPositionChanged イベントハンドラが実行されていいのですが、
            // 各ツリーノードのクリック時は、結果的に無駄処理として実行されるだけなので、フラグを立ててイベントハンドラが動作しないように抑制します。
            // ただし、ソースツリーで選択した定義が、メンバーツリー(や継承ツリー)で表示中の定義範囲外の場合、表示更新したいため、わざと抑制フラグは立てません。
            // ※ NowWorking フラグは、TextEditorEx_CaretPositionChanged() 内で使用しているイベント処理の抑制フラグです。
            var useEventSkipFlag = false;

            if (MemberTreeItems.Any())
            {
                var item = MemberTreeItems.FirstOrDefault();
                if (item.StartLength <= e.StartLength && e.EndLength <= item.EndLength)
                {
                    useEventSkipFlag = true;
                }

                // 例外として、インナーのクラス、構造体、インターフェースの場合は再表示させる
                switch (e.TreeNodeKinds)
                {
                case TreeNodeKinds.Class:
                case TreeNodeKinds.Struct:
                case TreeNodeKinds.Interface:

                    useEventSkipFlag = false;
                    break;
                }
            }

            if (useEventSkipFlag)
            {
                NowWorking = true;
            }

            CaretOffset = e.StartLength;

            if (useEventSkipFlag)
            {
                NowWorking = false;
            }
        }
Example #28
0
 internal void CreateTreeItem()
 {
     treeItem = new TreeViewItemModel(null)
     {
         Title = "Panel"
     };
     treeItem.Children.Add(new TreeViewItemModel(TreeItem)
     {
         Title = "This"
     });
     treeItem.Children.Add(new TreeViewItemModel(TreeItem)
     {
         Title = "Screens"
     });
     treeItem.Children.Add(CreatePanelElementsTreeItem(TreeItem));
     treeItem.Children[1].Children = new ObservableCollection <TreeViewItemModel>(Screens.Select(x => CreateScreenTreeItem(treeItem.Children[1], x)));
     OnPropertyChanged(new PropertyChangedEventArgs(nameof(TreeItem)));
 }
Example #29
0
        private void tree_SelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e)
        {
            if (e.AddedItems != null && e.AddedItems.Count > 0)
            {
                object o = e.AddedItems[0];
                if (o is TreeViewItemModel)
                {
                    TreeViewItemModel org = o as TreeViewItemModel;
                    LoadReport(org.SMSUnitType);
                }
                else if (o is Organization)
                {
                    Organization org = o as Organization;

                    drill(org.Id);
                }
            }
        }
Example #30
0
        internal void AddCar()
        {
            Train.Cars.Add(new TrailerCar());
            Train.Couplers.Add(new Coupler());

            Train.ApplyPowerNotchesToCar();
            Train.ApplyBrakeNotchesToCar();
            Train.ApplyLocoBrakeNotchesToCar();

            Item.Children[1].Children.Add(new TreeViewItemModel(Item.Children[1])
            {
                Title = (Train.Cars.Count - 1).ToString(culture), Tag = Train.Cars.Last()
            });
            Item.Children[2].Children.Add(new TreeViewItemModel(Item.Children[2])
            {
                Title = (Train.Couplers.Count - 1).ToString(culture), Tag = Train.Couplers.Last()
            });
            SelectedItem = Item.Children[1].Children.Last();
        }