static void GraphFunc (Gtk.TreeViewColumn tree_column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { var renderer = (RevisionGraphCellRenderer)cell; Gtk.TreeIter node; model.GetIterFirst (out node); renderer.FirstNode = node.Equals (iter); model.IterNthChild (out node, model.IterNChildren () - 1); renderer.LastNode = node.Equals (iter); }
private bool IsPackageInStore (Gtk.ListStore store, string pname, string pversion, int pname_col, int pversion_col) { Gtk.TreeIter search_iter; bool has_elem = store.GetIterFirst (out search_iter); if (has_elem) { while (true) { string name = (string)store.GetValue (search_iter, pname_col); string version = (string)store.GetValue (search_iter, pversion_col); if (name == pname && version == pversion) return true; if (!store.IterNext (ref search_iter)) break; } } return false; }
static string GetCurrentFilter (Gtk.TreeModel model) { TreeIter filterIter; string filter = string.Empty; if (model.GetIterFirst (out filterIter)) filter = (string)model.GetValue (filterIter, 1); return filter; }
//selects a row that has an uniqueID (usually at col 0) public static bool TreeviewSelectRowWithID(Gtk.TreeView tv, Gtk.TreeStore store, int colNum, int id, bool scrollToRow) { if(id <= 0) return false; int rowNum = getRowNumOfThisID(store, colNum, id); if(rowNum == -1) return false; //set the selected int count = 0; TreeIter iter; bool iterOk = store.GetIterFirst(out iter); while(iterOk) { if(count == rowNum) { //1 select row tv.Selection.SelectIter(iter); //2 scroll to that row if(scrollToRow) { TreePath path = store.GetPath (iter); LogB.Debug(path.ToString()); tv.ScrollToCell (path, tv.Columns[0], true, 0, 0); } return true; } count ++; store.IterNext(ref iter); } return false; }
//finds the row number (starting at 0) of a cell (usually an uniqueID in col 0) private static int getRowNumOfThisID(Gtk.TreeStore store, int colNum, int searchedID) { TreeIter iter; int count = 0; bool iterOk = store.GetIterFirst(out iter); while(iterOk) { int thisID = Convert.ToInt32((string) store.GetValue (iter, colNum)); if(thisID == searchedID) return count; count ++; iterOk = store.IterNext(ref iter); } return -1; }
public static void TreeviewScrollToLastRow(Gtk.TreeView tv, Gtk.ListStore store, int nrows) { TreeIter iter = new TreeIter(); bool iterOk = store.GetIterFirst(out iter); if(! iterOk) return; for(int i=0; i < (nrows -1); i++) iterOk = tv.Model.IterNext (ref iter); if(! iterOk) return; TreePath path = store.GetPath (iter); LogB.Debug(path.ToString()); tv.ScrollToCell (path, tv.Columns[0], true, 0, 0); }
ArrayList getTreeViewNeuromuscular(Gtk.ListStore ls) { TreeIter iter = new TreeIter(); ls.GetIterFirst ( out iter ) ; ArrayList array = new ArrayList(); do { EncoderNeuromuscularData nm = (EncoderNeuromuscularData) ls.GetValue (iter, 0); array.Add(nm); } while (ls.IterNext (ref iter)); return array; }
// ---------helpful methods ----------- ArrayList getTreeViewCurves(Gtk.ListStore ls) { TreeIter iter = new TreeIter(); ls.GetIterFirst ( out iter ) ; ArrayList array = new ArrayList(); do { EncoderCurve ec = (EncoderCurve) ls.GetValue (iter, 0); array.Add(ec); } while (ls.IterNext (ref iter)); return array; }
private List<String> getEntryListForModel(Gtk.ListStore model) { List<String> outList = new List<string>(); Gtk.TreeIter iter; model.GetIterFirst(out iter); if(iter.Equals(null)) return null; do { outList.Add(model.GetValue (iter, 0).ToString()); }while(model.IterNext(ref iter)); return outList; }
private void RebuildAddTaskMenu(Gtk.TreeModel categoriesModel) { Gtk.Menu menu = new Menu (); Gtk.TreeIter iter; if (categoriesModel.GetIterFirst (out iter)) { do { ICategory category = categoriesModel.GetValue (iter, 0) as ICategory; if (category is AllCategory) continue; // Skip this one CategoryMenuItem item = new CategoryMenuItem (category); item.Activated += OnNewTaskByCategory; item.ShowAll (); menu.Add (item); } while (categoriesModel.IterNext (ref iter)); } addTaskButton.Menu = menu; }