📄 gwin.py
字号:
# Module 'gwin'# Generic stdwin windows# This is used as a base class from which to derive other window types.# XXX DON'T USE THIS CODE ANY MORE! It is ages old!import stdwin, stdwinqfrom stdwinevents import *from mainloop import mainloop, register, unregister, windows# Open a windowdef open(title): # Open a generic window w = stdwin.open(title) stdwin.setdefwinsize(0, 0) # Set default event handlers w.draw = nop w.char = nop w.mdown = nop w.mmove = nop w.mup = nop w.m2down = m2down w.m2up = m2up w.size = nop w.move = nop w.activate = w.deactivate = nop w.timer = nop # default command handlers w.close = close w.tab = tab w.enter = enter w.backspace = backspace w.arrow = arrow w.kleft = w.kup = w.kright = w.kdown = nop w.dispatch = treatevent register(w) return wdef treatevent(e): # Handle a stdwin event type, w, detail = e if type == WE_DRAW: w.draw(w, detail) elif type == WE_MENU: m, item = detail m.action[item](w, m, item) elif type == WE_COMMAND: treatcommand(w, detail) elif type == WE_CHAR: w.char(w, detail) elif type == WE_MOUSE_DOWN: if detail[1] > 1: w.m2down(w, detail) else: w.mdown(w, detail) elif type == WE_MOUSE_MOVE: w.mmove(w, detail) elif type == WE_MOUSE_UP: if detail[1] > 1: w.m2up(w, detail) else: w.mup(w, detail) elif type == WE_SIZE: w.size(w, w.getwinsize()) elif type == WE_ACTIVATE: w.activate(w) elif type == WE_DEACTIVATE: w.deactivate(w) elif type == WE_MOVE: w.move(w) elif type == WE_TIMER: w.timer(w) elif type == WE_CLOSE: w.close(w)def treatcommand(w, type): # Handle a we_command event if type == WC_CLOSE: w.close(w) elif type == WC_RETURN: w.enter(w) elif type == WC_TAB: w.tab(w) elif type == WC_BACKSPACE: w.backspace(w) elif type in (WC_LEFT, WC_UP, WC_RIGHT, WC_DOWN): w.arrow(w, type)# Methodsdef close(w): # Close method unregister(w) del w.close # Delete our close function w.close() # Call the close methoddef arrow(w, detail): # Arrow key method if detail == WC_LEFT: w.kleft(w) elif detail == WC_UP: w.kup(w) elif detail == WC_RIGHT: w.kright(w) elif detail == WC_DOWN: w.kdown(w)# Trivial methodsdef tab(w): w.char(w, '\t')def enter(w): w.char(w, '\n') # 'return' is a Python reserved worddef backspace(w): w.char(w, '\b')def m2down(w, detail): w.mdown(w, detail)def m2up(w, detail): w.mup(w, detail)def nop(*args): pass
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -