From bfcd6533e42988e2b6ca0097e4998e9124860b7f Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 2 Nov 2002 06:50:05 +0000 Subject: Add ESC key binding -- undo current cell editing. --- Demo/tkinter/guido/ss1.py | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Demo/tkinter/guido/ss1.py b/Demo/tkinter/guido/ss1.py index be5126f..559c491 100644 --- a/Demo/tkinter/guido/ss1.py +++ b/Demo/tkinter/guido/ss1.py @@ -538,6 +538,7 @@ class SheetGUI: self.entry.bind("", self.tab_event) self.entry.bind("", self.shift_tab_event) self.entry.bind("", self.delete_event) + self.entry.bind("", self.escape_event) # Now create the cell grid self.makegrid(rows, columns) # Select the top-left cell @@ -556,6 +557,22 @@ class SheetGUI: self.entry.delete(0, 'end') return "break" + def escape_event(self, event): + x, y = self.currentxy + self.load_entry(x, y) + + def load_entry(self, x, y): + cell = self.sheet.getcell(x, y) + if cell is None: + text = "" + elif isinstance(cell, FormulaCell): + text = '=' + cell.formula + else: + text, alignment = cell.format() + self.entry.delete(0, 'end') + self.entry.insert(0, text) + self.entry.selection_range(0, 'end') + def makegrid(self, rows, columns): """Helper to create the grid of GUI cells. @@ -653,18 +670,8 @@ class SheetGUI: if self.currentxy is not None: self.change_cell() self.clearfocus() - name = cellname(x, y) - cell = self.sheet.getcell(x, y) - if cell is None: - text = "" - elif isinstance(cell, FormulaCell): - text = '=' + cell.formula - else: - text, alignment = cell.format() - self.beacon['text'] = name - self.entry.delete(0, 'end') - self.entry.insert(0, text) - self.entry.selection_range(0, 'end') + self.beacon['text'] = cellname(x, y) + self.load_entry(x, y) self.entry.focus_set() self.currentxy = x, y self.cornerxy = None -- cgit v0.12