⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdbsrcwin.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
# wdbsrcwin.py -- source window for wdbimport stdwinfrom stdwinevents import *import srcwinclass DebuggerSourceWindow(srcwin.SourceWindow):		def __init__(self, debugger, filename):		self.debugger = debugger		self.curlineno = 0		self.focus = 0		srcwin.SourceWindow.__init__(self, filename)		def close(self):		del self.debugger.sourcewindows[self.filename]		del self.debugger		srcwin.SourceWindow.close(self)		def dispatch(self, event):		type, win, detail = event		if type == WE_CHAR:			self.char(detail)		elif type == WE_COMMAND:			self.command(detail)		elif type == WE_MOUSE_DOWN:			self.mouse_down(detail)		else:			srcwin.SourceWindow.dispatch(self, event)		def char(self, detail):		self.debugger.char(detail)		def command(self, detail):		self.debugger.command(detail)		def mouse_down(self, detail):		(h, v), clicks, button, mask = detail		if h >= self.leftmargin:			srcwin.SourceWindow.dispatch(self, \				(WE_MOUSE_DOWN, self.win, detail))			return		lineno = v/self.lineheight + 1		if 1 <= lineno <= self.linecount:			if self.debugger.get_break(self.filename, lineno):				f = self.debugger.clear_break			else:				f = self.debugger.set_break			err = f(self.filename, lineno)			if err: stdwin.message(err)			else: self.changemark(lineno)		else:			stdwin.fleep()		def getmark(self, lineno):		s = `lineno`		if lineno == self.focus:			s = '[' + s + ']'		else:			s = ' ' + s + ' '		if lineno == self.curlineno:			s = s + '->'		else:			s = s + '  '		br = self.debugger.breaks		if br.has_key(self.filename) and lineno in br[self.filename]:			s = s + 'B'		else:			s = s + ' '		return s		def getmargin(self):		return stdwin.textwidth('[' + `self.linecount+1` + ']->B ')		def setlineno(self, newlineno):		if newlineno != self.curlineno:			oldlineno = self.curlineno			self.curlineno = newlineno			self.changemark(oldlineno)			self.changemark(newlineno)		if newlineno != 0:			self.showline(newlineno)		def resetlineno(self):		self.setlineno(0)		def setfocus(self, newfocus):		if newfocus != self.focus:			oldfocus = self.focus			self.focus = newfocus			self.changemark(oldfocus)			self.changemark(newfocus)		if newfocus != 0:			self.showline(newfocus)		def resetfocus(self):		self.setfocus(0)# XXX Should get rid of focus stuff again

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -