]> granicus.if.org Git - python/commitdiff
Prepared for Tk windowing implementation
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 9 Oct 1996 09:38:46 +0000 (09:38 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 9 Oct 1996 09:38:46 +0000 (09:38 +0000)
Mac/Tools/twit/TwitCore.py
Mac/Tools/twit/mac_widgets.py
Mac/Tools/twit/mactwit_app.py
Mac/Tools/twit/mactwit_mod.py
Mac/Tools/twit/mactwit_stack.py

index 9fb78318ad392b3bfdeb77aa8145664ff74874de..a4d68bde1ae9bc5551b1a37fab3dc247f0827f49 100644 (file)
@@ -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
index e2ba911f5e3edfd9cbeffa879a0ee1f4d19aa82b..5e39feb1c0bb713d6ec1c4b78c70744345eb2776 100644 (file)
@@ -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
index e91ca9c4b8dfcfba07436880e6cb248317c72477..2a632da460f3c894dbc3ceb3febb17b82b4dfa53 100644 (file)
@@ -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():
index 24eb2bd8a47cf142679addcafd45cd014682742c..eb3d84d134aefd19687a91bdcb3a39cf23d15f59 100644 (file)
@@ -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)
index ccbb845f22bd628ea6c3105359e46840e1ba9309..d15f5f93e34db8bbbd65860c91d9dc038a5fbeb3 100644 (file)
@@ -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)