Esempio n. 1
0
        private void OnEntryKeyPressed(KeyPressEventArgs args, CellRenderer renderer, EditedHandler handler)
        {
            if (args.Event.Key == Gdk.Key.Tab ||
                args.Event.Key == Gdk.Key.ISO_Left_Tab ||
                args.Event.Key == Gdk.Key.KP_Tab)
            {
                TreeViewColumn column;

                handler(d_editingEntry.Text, d_editingPath);
                renderer.StopEditing(false);

                TreePath nextPath;

                /* Start editing the next cell */
                CellRenderer next = NextCell(renderer, new TreePath(d_editingPath), (args.Event.State & Gdk.ModifierType.ShiftMask) != 0, out column, out nextPath);

                if (next != null)
                {
                    d_treeview.SetCursorOnCell(nextPath, column, next, true);
                    args.RetVal = true;
                }
                else
                {
                    d_treeview.GrabFocus();
                    args.RetVal = false;
                }
            }
            else
            {
                args.RetVal = false;
            }
        }