| 18 | |
| 19 | |
| 20 | class IOBinding: |
| 21 | # One instance per editor Window so methods know which to save, close. |
| 22 | # Open returns focus to self.editwin if aborted. |
| 23 | # EditorWindow.open_module, others, belong here. |
| 24 | |
| 25 | def __init__(self, editwin): |
| 26 | self.editwin = editwin |
| 27 | self.text = editwin.text |
| 28 | self.__id_open = self.text.bind("<<open-window-from-file>>", self.open) |
| 29 | self.__id_save = self.text.bind("<<save-window>>", self.save) |
| 30 | self.__id_saveas = self.text.bind("<<save-window-as-file>>", |
| 31 | self.save_as) |
| 32 | self.__id_savecopy = self.text.bind("<<save-copy-of-window-as-file>>", |
| 33 | self.save_a_copy) |
| 34 | self.fileencoding = 'utf-8' |
| 35 | self.__id_print = self.text.bind("<<print-window>>", self.print_window) |
| 36 | |
| 37 | def close(self): |
| 38 | # Undo command bindings |
| 39 | self.text.unbind("<<open-window-from-file>>", self.__id_open) |
| 40 | self.text.unbind("<<save-window>>", self.__id_save) |
| 41 | self.text.unbind("<<save-window-as-file>>",self.__id_saveas) |
| 42 | self.text.unbind("<<save-copy-of-window-as-file>>", self.__id_savecopy) |
| 43 | self.text.unbind("<<print-window>>", self.__id_print) |
| 44 | # Break cycles |
| 45 | self.editwin = None |
| 46 | self.text = None |
| 47 | self.filename_change_hook = None |
| 48 | |
| 49 | def get_saved(self): |
| 50 | return self.editwin.get_saved() |
| 51 | |
| 52 | def set_saved(self, flag): |
| 53 | self.editwin.set_saved(flag) |
| 54 | |
| 55 | def reset_undo(self): |
| 56 | self.editwin.reset_undo() |
| 57 | |
| 58 | filename_change_hook = None |
| 59 | |
| 60 | def set_filename_change_hook(self, hook): |
| 61 | self.filename_change_hook = hook |
| 62 | |
| 63 | filename = None |
| 64 | dirname = None |
| 65 | |
| 66 | def set_filename(self, filename): |
| 67 | if filename and os.path.isdir(filename): |
| 68 | self.filename = None |
| 69 | self.dirname = filename |
| 70 | else: |
| 71 | self.filename = filename |
| 72 | self.dirname = None |
| 73 | self.set_saved(1) |
| 74 | if self.filename_change_hook: |
| 75 | self.filename_change_hook() |
| 76 | |
| 77 | def open(self, event=None, editFile=None): |
no outgoing calls
no test coverage detected
searching dependent graphs…