Exemplo n.º 1
0
		private void ScrollToIter (Gtk.TreeView tree, Gtk.TreeIter iter)
		{
			Gtk.TreePath path = tree.Model.GetPath (iter);
			if (path != null)
				tree.ScrollToCell (path, null, false, 0, 0);
		}
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    //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;
    }
Exemplo n.º 4
0
    //startOrEnd is true at start, false at end
    public static void TreeviewAddRow(Gtk.TreeView tv, TreeStore store, string [] row, bool startOrEnd)
    {
        TreeIter iter = new TreeIter();
        store.GetIterFirst(out iter);

        if(startOrEnd)
            iter = store.InsertWithValues(0,row);
        else
            iter = store.AppendValues(row);

        //scroll treeview if needed
        TreePath path = store.GetPath (iter);
        tv.ScrollToCell (path, null, true, 0, 0);
    }