summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>1996-10-09 09:38:46 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>1996-10-09 09:38:46 (GMT)
commit0eb8837560267d537fcd17f3c5c75f6c3f80aa4a (patch)
tree687a75a6c9a3d5545217043d71e1eceab3092ad5
parentb96aeafdc37cf9ba65ab5353ff3e318cf209e8e2 (diff)
downloadcpython-0eb8837560267d537fcd17f3c5c75f6c3f80aa4a.zip
cpython-0eb8837560267d537fcd17f3c5c75f6c3f80aa4a.tar.gz
cpython-0eb8837560267d537fcd17f3c5c75f6c3f80aa4a.tar.bz2
Prepared for Tk windowing implementation
-rw-r--r--Mac/Tools/twit/TwitCore.py35
-rw-r--r--Mac/Tools/twit/mac_widgets.py2
-rw-r--r--Mac/Tools/twit/mactwit_app.py2
-rw-r--r--Mac/Tools/twit/mactwit_mod.py25
-rw-r--r--Mac/Tools/twit/mactwit_stack.py25
5 files changed, 61 insertions, 28 deletions
diff --git a/Mac/Tools/twit/TwitCore.py b/Mac/Tools/twit/TwitCore.py
index 9fb7831..a4d68bd 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 e2ba911..5e39feb 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 e91ca9c..2a632da 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 24eb2bd..eb3d84d 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 ccbb845..d15f5f9 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)