コード例 #1
0
ファイル: WpfMenu.cs プロジェクト: RookieOne/JBsWpfExamples
        MenuItem AddMenuItem(ItemCollection items, string header, MyMenuInfo menuInfo)
        {
            var menuItem = menuInfo.CreateMenuItem(header);
            items.Add(menuItem);

            return menuItem;
        }
コード例 #2
0
 private void UpdateView(ItemCollection itemCollection, IEnumerable<String> items)
 {
     itemCollection.Clear();
     foreach (var item in items)
     {
         var description = String.IsNullOrEmpty(item) ? "Unknown" : item;
         itemCollection.Add(description);
     }
 }
コード例 #3
0
ファイル: WpfMenu.cs プロジェクト: RookieOne/Chimera
        MenuItem AddMenuItem(ItemCollection items, string header, ICommand command)
        {
            var menuItem = new MenuItem();
            menuItem.Header = header;
            menuItem.Command = command;

            items.Add(menuItem);

            return menuItem;
        }
コード例 #4
0
        void FillProject(ItemCollection pitem, string path)
        {
            var dirs = System.IO.Directory.GetDirectories(path);
            foreach (var d in dirs)
            {
                TreeViewItem i = new TreeViewItem();
                StackPanel panel = new StackPanel();
                panel.Orientation = Orientation.Horizontal;
                Image pic = new Image();
                pic.Source = new BitmapImage(new Uri("1.jpg", UriKind.Relative));
                pic.Width = 18;
                pic.Height = 18;
                panel.Children.Add(pic);
                TextBlock tb = new TextBlock();
                tb.Text = System.IO.Path.GetFileName(d);
                panel.Children.Add(tb);
                i.Header = panel;// "<Path>" + System.IO.Path.GetFileName(d);

                FillProject(i.Items, d);
                if (i.Items.Count > 0)
                    pitem.Add(i);

            }
            var files = System.IO.Directory.GetFiles(path, "*.cs");
            foreach (var f in files)
            {
                TreeViewItem i = new TreeViewItem();
                StackPanel panel = new StackPanel();
                panel.Orientation = Orientation.Horizontal;
                Image pic = new Image();
                pic.Source = new BitmapImage(new Uri("2.jpg", UriKind.Relative));
                pic.Width = 18;
                pic.Height = 18;
                panel.Children.Add(pic);
                TextBlock tb = new TextBlock();
                tb.Text = System.IO.Path.GetFileName(f);
                panel.Children.Add(tb);
                i.Header = panel;
                i.Tag = f;
                pitem.Add(i);

            }
        }
コード例 #5
0
        private void AddTreeViewItem(ItemCollection items, WorkItem workItem)
        {
            bool firstChild = (items.Count == 0);
            WorkItemTreeViewItem item = new WorkItemTreeViewItem(workItem);
            items.Add(item);

            if (firstChild && (item.Parent is WorkItemTreeViewItem))
            {
                (item.Parent as WorkItemTreeViewItem).IsExpanded = true;
            }
        }
コード例 #6
0
        public void ItemCollectionDefaultViewTest()
        {
            ItemCollection itemCollection = new ItemCollection();

            NotifyCollectionChangedEventArgs lastChangeArgs = null;
            itemCollection.CollectionChanged += (sender, e) => lastChangeArgs = e;

            itemCollection.Add("default1");

            Assert.AreEqual(NotifyCollectionChangedAction.Add, lastChangeArgs.Action);
            CollectionAssert.AreEqual(new[] { "default1" }, lastChangeArgs.NewItems.Cast<string>().ToArray());
        }
コード例 #7
0
ファイル: MainWindow.xaml.cs プロジェクト: raylu/emb
 private void add_children(ItemCollection group, int? id)
 {
     foreach (KeyValuePair<int,MarketGroup> mg in market_groups) {
         if (mg.Value.parent_id == id) {
             TreeViewItem item = new TreeViewItem();
             item.Header = mg.Value.name;
             item.Tag = mg.Key;
             if (!mg.Value.has_types)
                 add_children(item.Items, mg.Key);
             group.Add(item);
         }
     }
 }
コード例 #8
0
 private void AddElementPropertiesWithTypeFilter(SceneElement targetElement, ResourceEntryItem resource, System.Windows.Controls.ItemCollection menuItems, Type filterType)
 {
     SceneNode[] selection = new SceneNode[1]
     {
         (SceneNode)targetElement
     };
     foreach (TargetedReferenceStep targetedReferenceStep in (IEnumerable <TargetedReferenceStep>)PropertyMerger.GetMergedProperties((IEnumerable <SceneNode>)selection))
     {
         ReferenceStep referenceStep = targetedReferenceStep.ReferenceStep;
         if (referenceStep.Name != "Name" && PropertyInspectorModel.IsPropertyBrowsable(selection, targetedReferenceStep) && (PropertyInspectorModel.IsAttachedPropertyBrowsable(selection, targetElement.Type, targetedReferenceStep, (ITypeResolver)targetElement.ProjectContext) && PlatformTypeHelper.GetPropertyType((IProperty)referenceStep) != (Type)null) && (PlatformTypeHelper.GetPropertyType((IProperty)referenceStep).IsAssignableFrom(resource.Resource.Type.RuntimeType) && (filterType == (Type)null || filterType.IsAssignableFrom(PlatformTypeHelper.GetPropertyType((IProperty)referenceStep)))))
         {
             menuItems.Add((object)this.BuildPropertyMenuItem(targetElement, referenceStep, resource));
         }
     }
 }
コード例 #9
0
        private void FillTree(ItemCollection itemColl, RepositoryUnit dataNode)
        {
            TreeViewItem tvi = new TreeViewItem();
            tvi.IsExpanded = true;
            
            itemColl.Add(tvi);
            //If its a potential draggable object we put his item id into it
            if (dataNode.IsLeaf)
                tvi.Name = dataNode.ItemId;

            tvi.Header = dataNode.Name;
            
            foreach (RepositoryUnit childDataNode in dataNode.Children)
            {
                FillTree(tvi.Items, childDataNode); 
            }
        }  // end method
コード例 #10
0
        public async static Task CreateTreeViewItems(controls.ItemCollection itemCollection, IList <MappedItem> mappedItems, string selectedTreeItemId = null)
        {
            foreach (var item in mappedItems)
            {
                var treeViewItem = new controls.TreeViewItem()
                {
                    Header     = item.Name,
                    Tag        = item.Id,
                    IsSelected = string.IsNullOrEmpty(selectedTreeItemId) && selectedTreeItemId == item.Id.ToString() ? true : false
                };

                if (item.ChildMappedItems.Any())
                {
                    await CreateTreeViewItems(treeViewItem.Items, item.ChildMappedItems);
                }

                itemCollection.Add(treeViewItem);
            }
        }
コード例 #11
0
ファイル: UISettings.xaml.cs プロジェクト: RBernhardt/unisono
 private void appendToTreeView(ItemCollection itemCollection, String[] path, KeyValuePair<String[], ISettingGroup> kvSettingGroup)
 {
     TreeViewItem tvItem = this.getTreeViewItem(itemCollection, path[0]);
     if (tvItem == null) {
         tvItem = new TreeViewItem();
         tvItem.Header = path[0];
         tvItem.DataContext = kvSettingGroup;
         tvItem.IsExpanded = true;
         itemCollection.Add(tvItem);
     }
     //
     if (path.Length > 1) {
         String[] newPath = new String[path.Length - 1];
         for (int i = 1; i < path.Length; i++) {
             newPath[i - 1] = path[i];
         }
         this.appendToTreeView(tvItem.Items, newPath, kvSettingGroup);
     }
 }
コード例 #12
0
        public async static Task CreateTreeViewItems(controls.ItemCollection itemCollection, IList <MappedItem> mappedItems, Action <object, RoutedEventArgs> addItemClick)
        {
            foreach (var item in mappedItems)
            {
                var treeViewItem = new controls.TreeViewItem()
                {
                    Tag = item.Id,
                };

                var button = new controls.Button()
                {
                    Content = "Add",
                    Tag     = item.Id.ToString(),
                    Height  = 14,
                    Margin  = new System.Windows.Thickness(10, 0, 0, 0)
                };

                button.Click += new System.Windows.RoutedEventHandler(addItemClick);

                var sp = new controls.StackPanel();
                sp.Height      = 20;
                sp.Orientation = System.Windows.Controls.Orientation.Horizontal;
                sp.Children.Add(new System.Windows.Controls.Label()
                {
                    Content = item.Name
                });
                sp.Children.Add(button);
                sp.Children[1].Visibility = Visibility.Hidden;

                treeViewItem.Header = sp;

                if (item.ChildMappedItems.Any())
                {
                    await CreateTreeViewItems(treeViewItem.Items, item.ChildMappedItems, addItemClick);
                }

                itemCollection.Add(treeViewItem);
            }
        }
コード例 #13
0
ファイル: BrowseDOM.xaml.cs プロジェクト: ittray/LocalDemo
        private void ProcessElement(IHTMLElement parentElement,
          ItemCollection nodes)
        {
            // Scan through the collection of elements.
            foreach (IHTMLElement element in parentElement.children)
            {
                // Create a new node that shows the tag name.
                TreeViewItem node = new TreeViewItem();
                node.Header = "<" + element.tagName + ">";
                nodes.Add(node);

                if ((element.children.length == 0) && (element.innerText != null))
                {
                    // If this element doesn't contain any other elements, add
                    // any leftover text content as a new node.
                    node.Items.Add(element.innerText);
                }
                else
                {
                    // If this element contains other elements, process them recursively.
                    ProcessElement(element, node.Items);
                }
            }
        }
コード例 #14
0
ファイル: MainWindow.xaml.cs プロジェクト: hwwang/Nitra
        void Fill(ItemCollection treeNodes, ReadOnlyCollection<ReflectionStruct> nodes)
        {
            foreach (var node in nodes)
              {
            var treeNode = new TreeViewItem();
            treeNode.Header = node.Description;
            treeNode.Tag = node;
            treeNode.Expanded += node_Expanded;
            if (node.Location.Length == 0)
              treeNode.Background = new SolidColorBrush(Color.FromRgb(200, 255, 200));

            treeNodes.Add(treeNode);

            if (node.Children.Count != 0)
              treeNode.Items.Add(new TreeViewItem());
              }
        }
コード例 #15
0
ファイル: MainWindow.xaml.cs プロジェクト: sakya/wpfmpdclient
    private async Task<bool> PopulateFileSystemTree(ItemCollection items, string path)
    {
      items.Clear();
      MpdDirectoryListing list = null;
      try{
        list = await Task.Factory.StartNew(() => m_Mpc.LsInfo(path));
      }catch (Exception ex){
        ShowException(ex);
        return false;
      }

      foreach (string dir in list.DirectoryList) {
        TreeViewItem item = new TreeViewItem();
        item.Header = path != null ? dir.Remove(0, path.Length + 1) : dir;
        item.Tag = dir;
        if (await HasSubdirectories(item.Tag.ToString())) {
          item.Items.Add(null);
          item.Expanded += TreeItemExpanded;
        }
        items.Add(item);
      }
      return true;
    }
コード例 #16
0
ファイル: TestRunner.xaml.cs プロジェクト: ArildF/GitSharp
        private void Analyze(Type type, MethodInfo method, ItemCollection collection, TestFixtureView fixture)
        {
            if (method.GetCustomAttributes(typeof(TestAttribute), false).Count() > 0)
            {

                var testcase = new TestcaseView(type, method);
                collection.Add(CreateItem(testcase));
                fixture.AddTest(testcase);
            }
            else if (method.GetCustomAttributes(typeof(SetUpAttribute), false).Count() > 0)
            {
                fixture.SetupMethod = method;
            }
            else if (method.GetCustomAttributes(typeof(TearDownAttribute), false).Count() > 0)
            {
                fixture.TeardownMethod = method;
            }
        }
コード例 #17
0
ファイル: TestRunner.xaml.cs プロジェクト: ArildF/GitSharp
        private void Analyze(Type type, ItemCollection collection)
        {
            object[] attrs = Attribute.GetCustomAttributes(type);
            //if ( attrs.Contains(NUnit.Framework.TestAttribute);
            if (type.GetCustomAttributes(typeof(TestFixtureAttribute), false).Count() == 0)
                return;
            var fixture = new TestFixtureView(type.Name, type);
            var item = new TreeViewItem();
            {
                item.Header = type.Name;
                item.Tag = fixture;
                collection.Add(item);
                item.PreviewMouseDown += (o, args) => PresentSummary(item);
            }

            foreach (MethodInfo method in type.GetMethods(BindingFlags.Public | BindingFlags.Instance))
                Analyze(type, method, item.Items, fixture);
        }
コード例 #18
0
        /// <summary>
        /// Inserts a folder into the specified UI components in the tree view.
        /// </summary>
        /// <param name="folder">The folder to be inserted</param>
        /// <param name="items">The items that the tree view consists of</param>
        public void InsertFolder(string[] folder, ItemCollection items)
        {
            TreeViewItem folderItem = new TreeViewItem();
            folderItem.Header = folder[1];
            folderItem.Tag = new object[] { folder[0], folder[2], true};

            InsertFolderHelper(folder, items);

            //add to root
            if(int.Parse(((object[])(folderItem.Tag))[1].ToString()) == Session.GetInstance().RootFolderID)
                items.Add(folderItem);
        }
コード例 #19
0
ファイル: ExtTreeNode.cs プロジェクト: ichengzi/atnets
 /// <summary>
 /// 将当前子项添加到节点列表中
 /// </summary>
 /// <param name="items"></param>
 private void AddTo(ItemCollection items)
 {
     items.Add(this);
     Refresh();
 }
コード例 #20
0
        private void RecursiveAddFromDirectory(ItemCollection coll, string path, string[] parts, int pos)
        {
            List<string> s = GetFromDirectory(path);
            if (s == null)
                return;
            foreach (string k in s)
            {
                int idx = k.LastIndexOf("\\");
                string n = (idx >= 0) ? k.Substring(idx + 1) : k;

                TreeViewItem item = GenerateFromDirectory(n,Path.Combine(path,n));
                if (parts.Length > pos)
                {
                    if (n.Equals(parts[pos],StringComparison.InvariantCultureIgnoreCase))
                    {
                        if (pos<parts.Length-1)
                            RecursiveAddFromDirectory(item.Items, Path.Combine(path,n), parts, pos + 1);
                        item.IsSelected = true;
                    }
                }
                coll.Add(item);
            }
        }
コード例 #21
0
ファイル: MainWindow.xaml.cs プロジェクト: iwhy/StockSharp
		private static void BuildTree(OfflineDynamicPage rootDp, ItemCollection rootItems)
		{
			var tvItem = new TreeViewItem
			{
				Header = rootDp.RussianTitle,
				Tag = rootDp,
			};

			rootItems.Add(tvItem);

			foreach (var item in rootDp.Childs)
			{
				BuildTree(item, tvItem.Items);
			}
		}
コード例 #22
0
ファイル: MenuManager.cs プロジェクト: xceza7/EDCB
        private void CtxmConvertToMenuItems(List<CtxmItemData> src, ItemCollection dest, CtxmCode code, bool shortcutTextforListType)
        {
            dest.Clear();

            src.ForEach(data =>
            {
                Control item;
                if (data.Command == EpgCmdsEx.Separator)
                {
                    item = new Separator();
                }
                else
                {
                    var menu = new MenuItem();
                    menu.Header = data.Header;
                    menu.Command = (EpgCmdsEx.IsDummyCmd(data.Command) ? null : data.Command);
                    if (menu.Command != null)
                    {
                        if ((shortcutTextforListType == true || (MC.WorkCmdOptions[data.Command].GesTrg & MenuCmds.GestureTrg.ToView) == MenuCmds.GestureTrg.ToView)
                            && (MC.WorkCmdOptions.ContainsKey(data.Command) == false || MC.WorkCmdOptions[data.Command].IsGestureEnabled == true)
                            && data.ID == 0)
                        {
                            menu.InputGestureText = MenuBinds.GetInputGestureText(data.Command);
                        }
                    }
                    menu.CommandParameter = new EpgCmdParam(typeof(MenuItem), code, data.ID);
                    CtxmConvertToMenuItems(data.Items, menu.Items, code, shortcutTextforListType);
                    item = menu;
                }
                item.Name = data.Name;
                item.Tag = data.Command;
                item.ToolTip = GetCtxmTooltip(data.Command);
                ToolTipService.SetShowOnDisabled(item, true);

                dest.Add(item);
            });
        }
コード例 #23
0
ファイル: MenuController.cs プロジェクト: stevehjohn/Hub
        private void CreateSubMenus(ItemCollection parent, IEnumerable<MingMenuItemAndHandler> items, List<MingMenuItemAndHandler> pToolItems, int level)
        {
            List<MingMenuItemAndHandler> toolItems;
            if (level == 1)
            {
                toolItems = new List<MingMenuItemAndHandler>();
            }
            else
            {
                toolItems = pToolItems;
            }
            foreach (var itemAndHandler in items)
            {
                var item = itemAndHandler.MenuItem;
                if (item.IsSeparator)
                {
                    if ((item.MenuContext & MenuContext.MainMenu) == MenuContext.MainMenu)
                    {
                        parent.Add(new Separator());
                    }
                    if ((item.MenuContext & MenuContext.TreeViewContext) == MenuContext.TreeViewContext)
                    {
                        if (item.ContextMenuPosition == ContextMenuPosition.AppendToEnd)
                        {
                            _contextMenuAppendToEndItems.Add(new Separator());
                        }
                        else
                        {
                            _contextMenuItems.Add(new Separator());
                        }
                    }
                }
                else
                {
                    if ((item.MenuContext & MenuContext.TabDocumentControlled) == MenuContext.TabDocumentControlled)
                    {
                        if ((item.MenuContext & MenuContext.TreeViewContext) == MenuContext.TreeViewContext)
                        {
                            throw new ArgumentException(string.Format("Menu item cannot be TreeViewContext and TabDocumentControlled. Culprit: {0}", item.Id));
                        }
                        if (!_pluginTabDocumentItems.ContainsKey(itemAndHandler.PluginId))
                        {
                            _pluginTabDocumentItems.Add(itemAndHandler.PluginId, new List<string>());
                        }
                        _pluginTabDocumentItems[itemAndHandler.PluginId].Add(item.Id);
                    }

                    if ((item.MenuContext & MenuContext.ToolBarContext) == MenuContext.ToolBarContext && level > 0)
                    {
                        if (item.Icon != null)
                        {
                            toolItems.Add(itemAndHandler);
                        }
                    }

                    if ((item.MenuContext & MenuContext.TreeViewContext) == MenuContext.TreeViewContext)
                    {
                        var menuItem = new MenuItem();

                        menuItem.Header = item.Title;
                        if (item.Icon != null)
                        {
                            menuItem.Icon = new Image() { Source = item.Icon };
                        }
                        menuItem.Name = item.Id;
                        menuItem.Click += new System.Windows.RoutedEventHandler(MenuItem_Click);
                        menuItem.Tag = itemAndHandler; //.MenuClient;

                        if (item.ContextMenuPosition == ContextMenuPosition.AppendToEnd)
                        {
                            _contextMenuAppendToEndItems.Add(menuItem);
                        }
                        else
                        {
                            _contextMenuItems.Add(menuItem);
                        }
                    }

                    if ((item.MenuContext & MenuContext.MainMenu) == MenuContext.MainMenu)
                    {
                        var menuItem = new MenuItem();

                        if (level == 0)
                        {
                            menuItem.Header = item.Title.ToUpper();
                        }
                        else
                        {
                            menuItem.Header = item.Title;
                        }
                        if (item.Icon != null)
                        {
                            menuItem.Icon = new Image() { Source = item.Icon };
                        }
                        menuItem.Name = item.Id;
                        menuItem.Tag = itemAndHandler; //.MenuClient;
                        if (level > 0)
                        {
                            menuItem.Opacity = 0.4;
                            menuItem.IsEnabled = false;
                        }
                        if (level > 0)
                        {
                            menuItem.Click += new System.Windows.RoutedEventHandler(MenuItem_Click);
                        }
                        else
                        {
                            menuItem.SubmenuOpened += new System.Windows.RoutedEventHandler(MainMenu_Click);
                        }

                        parent.Add(menuItem);

                        CreateSubMenus(menuItem.Items, item.SubMenuItems.Select(sel => new MingMenuItemAndHandler(sel, itemAndHandler.MenuClient, itemAndHandler.PluginId)), toolItems, level + 1);
                    }
                }
            }
            if (level == 1 && toolItems.Count > 0)
            {
                var toolBar = new ToolBar();
                toolItems.ForEach(item =>
                    {
                        var button = new Button
                        {
                            ToolTip = item.MenuItem.Title.Replace("_", ""),
                            Content = new Image() { Source = item.MenuItem.Icon },
                            Tag = item, //.MenuClient,
                            Name = item.MenuItem.Id
                        };
                        button.Click += new System.Windows.RoutedEventHandler(MenuItem_Click);
                        toolBar.Items.Add(button);
                    });
                _toolBarTray.ToolBars.Add(toolBar);
            }
        }
コード例 #24
0
        private void GenerateButtons(ItemCollection items)
        {
            //每个Command都生成一个具体的按钮
            foreach (var command in this.CommandMetaGroup.Commands)
            {
                var group = new CommandMetaGroup(command.Name);
                group.AddCommand(command);

                var menuGenerator = new MenuItemGenerator
                {
                    CommandMetaGroup = group,
                    Context = this.Context
                };
                var control = menuGenerator.CreateControl();
                items.Add(control);
            }
        }
コード例 #25
0
 private void AddItems(ItemCollection parent, List<Rule> rules)
 {
     foreach (var rule in rules)
     {
         if (rule.Count > 0)
         {
             TreeViewItem treeViewItem = new TreeViewItem()
             {
                 Header = CreateRuleItem(rule),
                 IsExpanded = true,
                 Tag = rule
             };
             AddItems(treeViewItem.Items, rule);
             parent.Add(treeViewItem);
         }
         else
         {
             StackPanel panel = CreateRuleItem(rule);
             panel.Tag = rule;
             parent.Add(panel);
         }
     }
 }
コード例 #26
0
ファイル: Window1.xaml.cs プロジェクト: tkrehbiel/Tewpf
 /// <summary>
 /// Add nodes to a tree view item collection.
 /// </summary>
 /// <param name="parentCollection"></param>
 /// <param name="entries"></param>
 private void PopulateEntries( ItemCollection parentCollection, IEnumerable<IEntry> entries )
 {
     foreach( IEntry entry in entries )
     {
         ExtendedTreeViewItem item = this.CreateTreeViewItem( entry, parentCollection );
         parentCollection.Add( item );
         if( entry.Children.Count > 0 )
             this.PopulateEntries( item.Items, entry.Children );
     }
 }
コード例 #27
0
        private static void AddNode(ItemCollection items, SyntaxNode node, string prefix)
        {
            var tooltip = string.Join(Environment.NewLine, node.GetDiagnostics().Select(x => x.ToString()));
            var treeViewItem = new TreeViewItem
            {
                Background = (node.ContainsDiagnostics) ? Brushes.Pink : Brushes.Transparent,
                Foreground = (node.IsToken) ? Brushes.DarkGreen : (node.Ancestors().Any(a => a.IsToken) ? Brushes.DarkRed : Brushes.Blue),
                Header = $"{prefix}{node.Kind} [{node.SourceRange.Start}..{node.SourceRange.End})",
                ToolTip = string.IsNullOrEmpty(tooltip) ? null : tooltip,
                Tag = node
            };

            foreach (var childNode in node.ChildNodes)
                AddNode(treeViewItem.Items, childNode, string.Empty);

            if (node.IsToken)
            {
                var token = (SyntaxToken) node;
                foreach (var childNode in token.LeadingTrivia)
                    AddNode(treeViewItem.Items, childNode, "Lead: ");
                foreach (var childNode in token.TrailingTrivia)
                    AddNode(treeViewItem.Items, childNode, "Trail: ");
            }

            items.Add(treeViewItem);
        }
コード例 #28
0
 private void RecursiveAddFromDirectory(ItemCollection coll, IDirectory d, string[] parts, int pos)
 {
     foreach (IDirectory n in d.Directories.OrderBy(a => a.Name))
     {
         TreeViewItem item = GenerateFromDirectory(n);
         if (parts.Length > pos)
         {
             if (n.Name.Equals(parts[pos],StringComparison.InvariantCultureIgnoreCase))
             {
                 if (pos<parts.Length-1)
                     RecursiveAddFromDirectory(item.Items,n,parts,pos+1);
                 item.IsSelected = true;
             }
         }
         coll.Add(item);
     }
 }
コード例 #29
0
        void AddPersonToTree(Person p, ItemCollection items)
        {
            // create an item for this person
            var item = new TreeViewItem();
            item.Tag = p;
            item.Header = p.Name;

            // add this person to the tree
            items.Add(item);

            // and add any children
            foreach (var child in p.Children)
            {
                AddPersonToTree(child, item.Items);
            }
        }
コード例 #30
0
        private void AddSubDirectoriesToTreeView(ItemCollection parentNode, DirectoryInfo parentDirectoryInfo)
        {
            foreach (var childDirectoryInfo in parentDirectoryInfo.EnumerateDirectories().Where(dirInfo => !dirInfo.Name.StartsWith(".git")))
            {
                var childNode = new TreeViewItem();
                parentNode.Add(childNode);
                childNode.Header = childDirectoryInfo.Name;
                AddSubDirectoriesToTreeView(childNode.Items, childDirectoryInfo);
            }

            foreach (var fileInfo in parentDirectoryInfo.EnumerateFiles("*.gpg"))
            {
                parentNode.Add(fileInfo);
            }
        }
コード例 #31
0
ファイル: TestRunner.xaml.cs プロジェクト: ArildF/GitSharp
        private void Analyze(Assembly assembly, ItemCollection collection)
        {
            var item = new TreeViewItem();
            {
                item.Header = assembly.GetName().Name;
                item.Tag = assembly;
                collection.Add(item);
                item.PreviewMouseDown += (o, args) => PresentSummary(item);
            }
            foreach (Type type in assembly.GetExportedTypes())
                Analyze(type, item.Items);

            if (item.Items.Count == 0)
            {
                collection.Remove(item); // pruning assemblies without testcases
                return;
            }
            item.ContextMenu = InitContextMenu(item);
        }
コード例 #32
0
        private void PopulateTreeView(ItemCollection items, Data.IFileHolder fileHolder)
        {
            List<TreeViewItem> folderList = new List<TreeViewItem>();
            foreach (var folder in fileHolder.Folders.Values)
            {
                if (!folder.HasData)
                    continue;

                TreeViewItem item = new TreeViewItem
                {
                    Header = folder.Name,
                    IsExpanded = true,
                    Tag = folder
                };
                folderList.Add(item);

                PopulateTreeView(item.Items, folder);
            }
            folderList.Sort((a, b) => a.Header.ToString().CompareTo(b.Header.ToString()));
            folderList.ForEach(a => items.Add(a));

            List<TreeViewItem> projectList = new List<TreeViewItem>();
            foreach (var project in fileHolder.Projects.Values)
            {
                if (!project.HasData)
                    continue;

                TreeViewItem item = new TreeViewItem
                {
                    Header = project.Name,
                    Tag = project
                };
                projectList.Add(item);

                List<TreeViewItem> resourceList = new List<TreeViewItem>();
                foreach (var resource in project.Resources)
                {
                    if (!resource.HasData)
                        continue;

                    TreeViewItem resourceItem = new TreeViewItem
                    {
                        Header = resource.Name,
                        Tag = resource
                    };
                    resourceList.Add(resourceItem);
                }
                resourceList.Sort((a, b) => a.Header.ToString().CompareTo(b.Header.ToString()));
                resourceList.ForEach(a => item.Items.Add(a));
            }
            projectList.Sort((a, b) => a.Header.ToString().CompareTo(b.Header.ToString()));
            projectList.ForEach(a => items.Add(a));
        }
コード例 #33
0
        /// <summary>
        /// Inserts a document into the specified UI components in the tree view.
        /// </summary>
        /// <param name="document">The document to be inserted</param>
        /// <param name="items">The items that the tree view consists of</param>
        public void InsertDocument(string[] document, ItemCollection items)
        {
            TreeViewItem documentItem = new TreeViewItem();
            documentItem.Header = document[2];
            documentItem.Tag = new object[] { document[0], document[1], false }; //0:document id, 1:folderid,2false->not a folder
            documentItem.MouseLeftButtonUp += new MouseButtonEventHandler(documentItem_MouseLeftButtonUp);

            InsertDocumentHelper(document, items);

            //add to root
            if (int.Parse(((object[])(documentItem.Tag))[1].ToString()) == Session.GetInstance().RootFolderID)
                items.Add(documentItem);
        }