From 0eb8837560267d537fcd17f3c5c75f6c3f80aa4a Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Wed, 9 Oct 1996 09:38:46 +0000 Subject: [PATCH] Prepared for Tk windowing implementation --- Mac/Tools/twit/TwitCore.py | 35 ++++++++++++++++----------------- Mac/Tools/twit/mac_widgets.py | 2 +- Mac/Tools/twit/mactwit_app.py | 2 +- Mac/Tools/twit/mactwit_mod.py | 25 +++++++++++++++++++---- Mac/Tools/twit/mactwit_stack.py | 25 +++++++++++++++++++---- 5 files changed, 61 insertions(+), 28 deletions(-) diff --git a/Mac/Tools/twit/TwitCore.py b/Mac/Tools/twit/TwitCore.py index 9fb78318ad3..a4d68bde1ae 100644 --- a/Mac/Tools/twit/TwitCore.py +++ b/Mac/Tools/twit/TwitCore.py @@ -250,7 +250,6 @@ class StackBrowser: """Base code for stack browser""" def mi_open(self): """Setup initial data structures""" - self.create_items() self.cur_stackitem = None self.cur_source = None self.cur_modname = None @@ -269,9 +268,9 @@ class StackBrowser: self.setprogramstate(self.parent.dbg.getprogramstate()) names, locations = self.parent.dbg.getstacktrace() - self.stack.setcontent(names, locations) + self.stack_setcontent(names, locations) self.cur_stackitem = len(names)-1 - self.stack.select(self.cur_stackitem) + self.stack_select(self.cur_stackitem) self.setup_frame() def setup_frame(self): @@ -280,7 +279,7 @@ class StackBrowser: self.cont_varnames, self.cont_varvalues = \ self.parent.dbg.getframevars(self.cur_stackitem, self.show_complex, self.show_system) - self.vars.setcontent(self.cont_varnames, self.cont_varvalues) + self.setvars() self.set_var_buttons() msg = "" @@ -304,9 +303,9 @@ class StackBrowser: self.setsource(msg) if not self.cur_line: - self.source.setcurline(1, ICON_ZERO) + self.source_setline(1, ICON_ZERO) else: - self.source.setcurline(self.cur_line, self.parent.dbg.icon) + self.source_setline(self.cur_line, self.parent.dbg.icon) self.breaks_changed(self.cur_source) @@ -323,7 +322,7 @@ class StackBrowser: def click_stack(self, number, *dummy): if number == self.cur_stackitem: return self.cur_stackitem = number - self.stack.select(self.cur_stackitem) + self.stack_select(self.cur_stackitem) self.setup_frame() def click_var(self, var, *dummy): @@ -332,7 +331,7 @@ class StackBrowser: def click_source(self, lineno, inborder): if not inborder: - self.source.select(lineno) + self.source_select(lineno) self.cur_line = lineno if lineno == None or not self.cur_source or not inborder: return @@ -345,7 +344,7 @@ class StackBrowser: def breaks_changed(self, filename): if filename == self.cur_source: list = self.parent.dbg.get_file_breaks(filename) - self.source.setbreaks(list) + self.source_setbreaks(list) def click_quit(self): self.parent.quit() @@ -391,7 +390,6 @@ class ModuleBrowser: def mi_open(self, module): """Setup initial data structures""" - self.create_items() self.cur_module = module self.cur_source = None self.cur_line = None @@ -408,22 +406,23 @@ class ModuleBrowser: if not self.cur_module in modnames: self.cur_module = None if modnames <> self.cont_modules: - self.modules.setcontent(modnames) self.cont_modules = modnames + self.setmodulenames() if self.cur_module: - self.modules.select(self.cont_modules.index(self.cur_module)) + self.module_select(self.cont_modules.index(self.cur_module)) else: - self.modules.select(None) + self.module_select(None) self.setup_module() def setup_module(self): """Setup module-dependent widget data""" self.parent.SetWatch() if not self.cur_module: - self.vars.setcontent([], []) + self.cont_varnames = [] + self.cont_varvalues = [] else: self.cont_varnames, self.cont_varvalues = getmodulevars(self.cur_module) - self.vars.setcontent(self.cont_varnames, self.cont_varvalues) + self.setvars() msg = "" if not self.cur_module: @@ -438,7 +437,7 @@ class ModuleBrowser: msg = "Not a python module" self.cur_lineno = 0 self.setsource(msg) - self.source.select(self.cur_line) + self.source_select(self.cur_line) self.breaks_changed(self.cur_source) self.parent.SetCursor() @@ -464,7 +463,7 @@ class ModuleBrowser: def click_source(self, lineno, inborder): if not inborder: - self.source.select(lineno) + self.source_select(lineno) self.cur_lineno = lineno if lineno == None or not self.cur_source or not inborder: return @@ -477,7 +476,7 @@ class ModuleBrowser: def breaks_changed(self, filename): if filename == self.cur_source: list = self.parent.dbg.get_file_breaks(filename) - self.source.setbreaks(list) + self.source_setbreaks(list) def click_edit(self): lino = self.cur_lineno diff --git a/Mac/Tools/twit/mac_widgets.py b/Mac/Tools/twit/mac_widgets.py index e2ba911f5e3..5e39feb1c0b 100644 --- a/Mac/Tools/twit/mac_widgets.py +++ b/Mac/Tools/twit/mac_widgets.py @@ -181,7 +181,7 @@ class MT_IconTextWidget(MT_TextWidget): self.breakpointlist = [] self.curline = None self.iconrect = (self.rect[0]+1, self.rect[1]+1, - self.terect[0]-1, self.terect[3]-1) + self.terect[0]-1, self.rect[3]-SCROLLBAR) self.curlinerange = (self.terect[1]+self.ted.lineHeight, self.terect[3]-2*self.ted.lineHeight) self.piccurrent = 512 diff --git a/Mac/Tools/twit/mactwit_app.py b/Mac/Tools/twit/mactwit_app.py index e91ca9c4b8d..2a632da460f 100644 --- a/Mac/Tools/twit/mactwit_app.py +++ b/Mac/Tools/twit/mactwit_app.py @@ -234,7 +234,7 @@ class Twit(FrameWork.Application, TwitCore.Application, MiniAEFrame.AEServer): return mactwit_browser.VarBrowser(parent).open(var) def edit(self, file, line): - return mactwit_edit(file, line) + return mactwit_edit.edit(file, line) def Initialize(): diff --git a/Mac/Tools/twit/mactwit_mod.py b/Mac/Tools/twit/mactwit_mod.py index 24eb2bd8a47..eb3d84d134a 100644 --- a/Mac/Tools/twit/mactwit_mod.py +++ b/Mac/Tools/twit/mactwit_mod.py @@ -27,16 +27,15 @@ class ModuleBrowser(FrameWork.DialogWindow, TwitCore.ModuleBrowser): self.SetPort() Qd.TextFont(3) Qd.TextSize(9) - self.mi_open(module) - - def create_items(self): - """Create the lists we need""" + tp, h, rect = self.wid.GetDialogItem(I_MODULES) self.modules = MT_AnyList(self.wid, rect, 1) tp, h, rect = self.wid.GetDialogItem(I_VARS) self.vars = MT_AnyList(self.wid, rect, 2) tp, h, rect = self.wid.GetDialogItem(I_SOURCE) self.source = MT_IconTextWidget(self.wid, rect) + + self.mi_open(module) def setsource(self, msg): tp, h, rect = self.wid.GetDialogItem(I_SOURCE_TITLE) @@ -45,7 +44,25 @@ class ModuleBrowser(FrameWork.DialogWindow, TwitCore.ModuleBrowser): else: Dlg.SetDialogItemText(h, msg) self.source.setcontent(self.cur_source) + + def source_setbreaks(self, list): + self.source.setbreaks(list) + def source_setline(self, lineno, icon): + self.source.setcurline(lineno, icon) + + def source_select(self, lineno): + self.source.select(lineno) + + def setmodulenames(self): + self.modules.setcontent(self.cont_modules) + + def module_select(self, number): + self.modules.select(number) + + def setvars(self): + self.vars.setcontent(self.cont_varnames, self.cont_varvalues) + def do_itemhit(self, item, event): (what, message, when, where, modifiers) = event Qd.SetPort(self.wid) diff --git a/Mac/Tools/twit/mactwit_stack.py b/Mac/Tools/twit/mactwit_stack.py index ccbb845f22b..d15f5f93e34 100644 --- a/Mac/Tools/twit/mactwit_stack.py +++ b/Mac/Tools/twit/mactwit_stack.py @@ -37,16 +37,15 @@ class StackBrowser(FrameWork.DialogWindow, TwitCore.StackBrowser): self.SetPort() Qd.TextFont(3) Qd.TextSize(9) - self.mi_open() - - def create_items(self): - """Create the lists we need""" + tp, h, rect = self.wid.GetDialogItem(I_STACK) self.stack = MT_IndexList(self.wid, rect, 2) tp, h, rect = self.wid.GetDialogItem(I_VARS) self.vars = MT_AnyList(self.wid, rect, 2) tp, h, rect = self.wid.GetDialogItem(I_SOURCE) self.source = MT_IconTextWidget(self.wid, rect) + + self.mi_open() def setsource(self, msg): tp, h, rect = self.wid.GetDialogItem(I_SOURCE_TITLE) @@ -56,6 +55,24 @@ class StackBrowser(FrameWork.DialogWindow, TwitCore.StackBrowser): Dlg.SetDialogItemText(h, msg) self.source.setcontent(self.cur_source) + def source_setbreaks(self, list): + self.source.setbreaks(list) + + def source_setline(self, lineno, icon): + self.source.setcurline(lineno, icon) + + def source_select(self, lineno): + self.source.select(lineno) + + def stack_setcontent(self, names, locations): + self.stack.setcontent(names, locations) + + def stack_select(self, number): + self.stack.select(number) + + def setvars(self): + self.vars.setcontent(self.cont_varnames, self.cont_varvalues) + def setexception(self, name, value): if name == None: self.wid.HideDialogItem(I_EXC)