public IterNthChild ( Gtk &iter, int n ) : bool | ||
iter | Gtk | |
n | int | |
return | bool |
private Gtk.TreeIter SetRowValue(Gtk.TreeIter parent, int childIndx, string cell1, string cell2) { Gtk.TreeIter child; if (itemStore.IterNthChild(out child, parent, childIndx)) { itemStore.SetValue(child, 0, cell1); itemStore.SetValue(child, 1, cell2); } else { child = itemStore.AppendValues(parent, cell1, cell2); } return(child); }
protected Gtk.TreeIter SetRowValue(Gtk.TreeStore store, Gtk.TreeIter parent, int childIndx, params object[] values) { Gtk.TreeIter child; if (store.IterNthChild(out child, parent, childIndx)) { for (int i = 0; i < values.Length; i++) { if (null == values[i]) { continue; } store.SetValue(child, i, values[i]); } } else { child = store.AppendValues(parent, values); } return(child); }
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)); }