public HelpTree () : base (GettextCatalog.GetString ("Help"), Gtk.Stock.Help) { tree_view = new MonoDevelop.Ide.Gui.Components.PadTreeView (); tree_view.AppendColumn ("name_col", tree_view.TextRenderer, "text", 0); tree_view.RowExpanded += new Gtk.RowExpandedHandler (RowExpanded); tree_view.Selection.Changed += new EventHandler (RowActivated); store = new TreeStore (typeof (string), typeof (Node)); tree_view.Model = store; tree_view.HeadersVisible = false; scroller = new MonoDevelop.Components.CompactScrolledWindow (); scroller.ShadowType = Gtk.ShadowType.None; scroller.Add (tree_view); if (HelpService.HelpTree != null) { root_iter = store.AppendValues (GettextCatalog.GetString ("Mono Documentation"), HelpService.HelpTree); PopulateNode (root_iter); tree_view.ExpandRow (new TreePath ("0"), false); TreeIter child_iter; start: if (store.IterChildren (out child_iter, root_iter)) { do { if (!store.IterHasChild (child_iter)) { store.Remove (ref child_iter); goto start; } } while (store.IterNext (ref child_iter)); } } Control.ShowAll (); }
public HelpTree() : base(GettextCatalog.GetString ("Help"), Gtk.Stock.Help) { tree_view = new TreeView (); tree_view.AppendColumn ("name_col", new CellRendererText (), "text", 0); tree_view.RowExpanded += new Gtk.RowExpandedHandler (RowExpanded); tree_view.Selection.Changed += new EventHandler (RowActivated); store = new TreeStore (typeof (string), typeof (Node)); root_iter = store.AppendValues (GettextCatalog.GetString ("Mono Documentation"), Runtime.Documentation.HelpTree); PopulateNode (root_iter); tree_view.Model = store; tree_view.HeadersVisible = false; scroller = new ScrolledWindow (); scroller.ShadowType = Gtk.ShadowType.In; scroller.Add (tree_view); tree_view.ExpandRow (new TreePath ("0"), false); TreeIter child_iter; start: store.IterChildren (out child_iter, root_iter); do { if (!store.IterHasChild (child_iter)) { store.Remove (ref child_iter); goto start; } } while (store.IterNext (ref child_iter)); Control.ShowAll (); }
private void OnToggled(object o, Gtk.ToggledArgs e) { TreeIter iter; store.GetIter(out iter, new TreePath(e.Path)); bool value = !(bool)store.GetValue(iter, 1); store.SetValue(iter, 1, value); TorrentFile file = (TorrentFile)store.GetValue(iter, 2); if (file != null) { file.Priority = value ? Priority.Normal : Priority.DoNotDownload; } if (store.IterHasChild(iter)) { store.IterChildren(out iter, iter); RecurseToggle(iter, value); } }
private static void RemoveAllChildren(Gtk.TreeStore model, TreeIter ti) { TreeIter child; if (model.IterChildren(out child, ti)) { int depth = model.IterDepth(ti); while (model.Remove(ref child) && model.IterDepth(child) > depth) { ; } } }
bool FindCategory(TreeIter piter, string name, out TreeIter child) { if (piter.Equals(TreeIter.Zero)) { if (!treeStore.GetIterFirst(out child)) { return(false); } } else if (!treeStore.IterChildren(out child, piter)) { return(false); } do { if (((string)treeStore.GetValue(child, ColName)) == name) { return(true); } } while (treeStore.IterNext(ref child)); return(false); }
void FullRepoNode(Repository parent, TreeIter repoIter) { // Remove the dummy child TreeIter citer; store.IterChildren(out citer, repoIter); store.SetValue(citer, RepoNameCol, GettextCatalog.GetString("Loading...")); loadingRepos.Add(FindRootRepo(repoIter)); UpdateControls(); ThreadPool.QueueUserWorkItem(delegate { LoadRepoInfo(parent, repoIter, citer); }); }
public void ApplyChanges(Gtk.TreeIter iter) { do { var node = treeStore.GetValue(iter, 2) as CodeIssueProvider; if (node != null) { var severity = (Severity)treeStore.GetValue(iter, 1); node.SetSeverity(severity); } TreeIter child; if (treeStore.IterChildren(out child, iter)) { ApplyChanges(child); } } while (treeStore.IterNext(ref iter)); MonoDevelop.SourceEditor.OptionPanels.ColorShemeEditor.RefreshAllColors(); }
void FullRepoNode(Repository parent, TreeIter repoIter) { // Remove the dummy child TreeIter citer; store.IterChildren(out citer, repoIter); store.SetValue(citer, RepoNameCol, GettextCatalog.GetString("Loading...")); loadingRepos.Add(FindRootRepo(repoIter)); UpdateControls(); Thread t = new Thread(delegate() { LoadRepoInfo(parent, repoIter, citer); }); t.Name = "VCS repository loader"; t.IsBackground = true; t.Start(); }
private void OnTestExpandRow(object sender, Gtk.TestExpandRowArgs args) { bool filled = (bool)store.GetValue(args.Iter, FilledCol); ReferenceNode parent = (ReferenceNode)store.GetValue(args.Iter, ReferenceCol); if (!filled) { store.SetValue(args.Iter, FilledCol, true); TreeIter iter; store.IterChildren(out iter, args.Iter); store.Remove(ref iter); if (parent.References.Count > 0 || parent.FieldReferences.Count > 0) { int nr = 0; foreach (ReferenceNode nod in parent.References) { if (!AddNode(args.Iter, nod).Equals(TreeIter.Zero)) { nr++; } } foreach (FieldReference fref in parent.FieldReferences) { if (!AddNode(args.Iter, fref).Equals(TreeIter.Zero)) { nr++; } } if (nr == 0) { args.RetVal = true; } } else { args.RetVal = true; } } }
void updateTreeNode <T> (TreeIter theNode, IEnumerable <T> objects) { TreeIter item; if (theModel.IterChildren(out item, theNode)) { int depth = theModel.IterDepth(theNode); while (theModel.Remove(ref item) && theModel.IterDepth(item) > depth) { ; } } int i = 0; foreach (T o in objects) { theModel.AppendValues(theNode, new TreeItemWrapper(o)); i++; } exporerTreeview.ExpandRow(theModel.GetPath(theNode), true); }
//Rekurzivní fuknce na procházení treeview, který má strukturu stromu private void getTreeValues(TreeIter iter) { TreeIter childIter; do { try { string name = foodTreeStore.GetValue(iter, 0).ToString(); treeModelValues.Add(foodTreeStore.GetPath(iter), name); int result = food.FindFoodIndex(name); distinct.Add(food.FindFood(name)); if (result != -1) { food[result].Path = foodTreeStore.GetPath(iter).ToString(); } if (foodTreeStore.IterHasChild(iter)) { foodTreeStore.IterChildren(out childIter, iter); getTreeValues(childIter); } } catch (Exception) { return; }; } while (foodTreeStore.IterNext(ref iter)); }
public TreePosition GetChild(TreePosition pos, int index) { IterPos tpos = GetIterPos(pos); if (tpos != null && tpos.LastChildIndex == index) { return(new IterPos(version, tpos.LastChildIter)); } if (index == 0) { if (tpos != null) { Gtk.TreeIter it; if (Tree.IterChildren(out it, tpos.Iter)) { tpos.LastChildIter = it; tpos.LastChildIndex = 0; return(new IterPos(version, it)); } } else { Gtk.TreeIter it; if (Tree.GetIterFirst(out it)) { return(new IterPos(version, it)); } } return(null); } if (tpos == null) { Gtk.TreeIter it; if (Tree.IterNthChild(out it, index)) { return(new IterPos(version, it)); } else { return(null); } } if (tpos.LastChildIndex == -1 || tpos.LastChildIndex > index) { Gtk.TreeIter it; if (Tree.IterNthChild(out it, tpos.Iter, index)) { tpos.LastChildIter = it; tpos.LastChildIndex = index; return(new IterPos(version, it)); } else { return(null); } } // tpos.LastChildIndex < index Gtk.TreeIter iter = tpos.LastChildIter; for (int n = tpos.LastChildIndex; n < index; n++) { if (!Tree.IterNext(ref iter)) { return(null); } } tpos.LastChildIter = iter; tpos.LastChildIndex = index; return(new IterPos(version, iter)); }