void SelectCommand(Command cmd) { //item may not be visible if the list is filtered searchEntry.Entry.Text = ""; TreeIter iter; if (!keyStore.GetIterFirst(out iter)) { return; } do { TreeIter citer; keyStore.IterChildren(out citer, iter); do { Command command = (Command)keyStore.GetValue(citer, commandCol); if (command == cmd) { TreePath path = filterModel.ConvertChildPathToPath(keyStore.GetPath(citer)); keyTreeView.ExpandToPath(path); keyTreeView.Selection.SelectPath(path); keyTreeView.ScrollToCell(path, keyTreeView.Columns[0], true, 0.5f, 0f); return; } } while (keyStore.IterNext(ref citer)); } while (keyStore.IterNext(ref iter)); }
TreePath ConvertStorePathToModelPath(TreePath path) { TreeModelSort sort = (TreeModelSort)treeDebaters.Model; TreeModelFilter filter = (TreeModelFilter)sort.Model; return(sort.ConvertChildPathToPath(filter.ConvertChildPathToPath(path))); }
public void SelectPath(TreePath path) { if (path == null) { return; } path = filter.ConvertChildPathToPath(path); path = sort.ConvertChildPathToPath(path); if (path != null) { Selection.SelectPath(path); } }