Inheritance: Gtk.Entry
        public override CellEditable StartEditing(Gdk.Event ev, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
        {
            if (property == null || editorCell == null || !sensitive)
            {
                return(null);
            }

            StateType   state   = GetState(flags);
            EditSession session = editorCell.StartEditing(cell_area, state);

            if (session == null)
            {
                return(null);
            }
            Gtk.Widget propEditor = (Gtk.Widget)session.Editor;
            propEditor.Show();
            HackEntry e = new HackEntry(session, propEditor);

            e.Show();
            session.Changed += delegate {
                ((InternalTree)widget).PropertyTree.NotifyChanged();
            };
            TreeIter it;

            ((InternalTree)widget).Model.GetIterFromString(out it, path);
            ((InternalTree)widget).EditingIter = it;
            return(e);
        }
        public override CellEditable StartEditing(Gdk.Event ev, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
        {
            if (property == null || editorCell == null || !sensitive)
                return null;

            StateType state = GetState (flags);
            EditSession session = editorCell.StartEditing (cell_area, state);
            if (session == null)
                return null;
            Gtk.Widget propEditor = (Gtk.Widget) session.Editor;
            propEditor.Show ();
            HackEntry e = new HackEntry (session, propEditor);
            e.Show ();
            session.Changed += delegate {
                ((InternalTree)widget).PropertyTree.NotifyChanged ();
            };
            TreeIter it;
            ((InternalTree)widget).Model.GetIterFromString (out it, path);
            ((InternalTree)widget).EditingIter = it;
            return e;
        }