aboutsummaryrefslogtreecommitdiff
path: root/lib/gwin.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gwin.py')
-rw-r--r--lib/gwin.py176
1 files changed, 88 insertions, 88 deletions
diff --git a/lib/gwin.py b/lib/gwin.py
index f6291e1..a53f69c 100644
--- a/lib/gwin.py
+++ b/lib/gwin.py
@@ -9,113 +9,113 @@ from stdwinevents import *
# XXX Old version of stdwinevents, should go
import stdwinsupport
-S = stdwinsupport # Shorthand
+S = stdwinsupport # Shorthand
-windows = [] # List of open windows
+windows = [] # List of open windows
# Open a window
-def 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
- windows.append(w)
- return w
+def 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
+ windows.append(w)
+ return w
# Generic event dispatching
-def mainloop(): # Handle events until no windows left
- while windows:
- treatevent(stdwin.getevent())
-
-def treatevent(e): # Handle a stdwin event
- type, w, detail = e
- if type = S.we_draw:
- w.draw(w, detail)
- elif type = S.we_menu:
- m, item = detail
- m.action[item](w, m, item)
- elif type = S.we_command:
- treatcommand(w, detail)
- elif type = S.we_char:
- w.char(w, detail)
- elif type = S.we_mouse_down:
- if detail[1] > 1: w.m2down(w, detail)
- else: w.mdown(w, detail)
- elif type = S.we_mouse_move:
- w.mmove(w, detail)
- elif type = S.we_mouse_up:
- if detail[1] > 1: w.m2up(w, detail)
- else: w.mup(w, detail)
- elif type = S.we_size:
- w.size(w, w.getwinsize())
- elif type = S.we_activate:
- w.activate(w)
- elif type = S.we_deactivate:
- w.deactivate(w)
- elif type = S.we_move:
- w.move(w)
- elif type = S.we_timer:
- w.timer(w)
- elif type = WE_CLOSE:
- w.close(w)
-
-def treatcommand(w, type): # Handle a we_command event
- if type = S.wc_close:
- w.close(w)
- elif type = S.wc_return:
- w.enter(w)
- elif type = S.wc_tab:
- w.tab(w)
- elif type = S.wc_backspace:
- w.backspace(w)
- elif type in (S.wc_left, S.wc_up, S.wc_right, S.wc_down):
- w.arrow(w, type)
+def mainloop(): # Handle events until no windows left
+ while windows:
+ treatevent(stdwin.getevent())
+
+def treatevent(e): # Handle a stdwin event
+ type, w, detail = e
+ if type = S.we_draw:
+ w.draw(w, detail)
+ elif type = S.we_menu:
+ m, item = detail
+ m.action[item](w, m, item)
+ elif type = S.we_command:
+ treatcommand(w, detail)
+ elif type = S.we_char:
+ w.char(w, detail)
+ elif type = S.we_mouse_down:
+ if detail[1] > 1: w.m2down(w, detail)
+ else: w.mdown(w, detail)
+ elif type = S.we_mouse_move:
+ w.mmove(w, detail)
+ elif type = S.we_mouse_up:
+ if detail[1] > 1: w.m2up(w, detail)
+ else: w.mup(w, detail)
+ elif type = S.we_size:
+ w.size(w, w.getwinsize())
+ elif type = S.we_activate:
+ w.activate(w)
+ elif type = S.we_deactivate:
+ w.deactivate(w)
+ elif type = S.we_move:
+ w.move(w)
+ elif type = S.we_timer:
+ w.timer(w)
+ elif type = WE_CLOSE:
+ w.close(w)
+
+def treatcommand(w, type): # Handle a we_command event
+ if type = S.wc_close:
+ w.close(w)
+ elif type = S.wc_return:
+ w.enter(w)
+ elif type = S.wc_tab:
+ w.tab(w)
+ elif type = S.wc_backspace:
+ w.backspace(w)
+ elif type in (S.wc_left, S.wc_up, S.wc_right, S.wc_down):
+ w.arrow(w, type)
# Methods
-def close(w): # Close method
- for i in range(len(windows)):
- if windows[i] is w:
- del windows[i]
- break
+def close(w): # Close method
+ for i in range(len(windows)):
+ if windows[i] is w:
+ del windows[i]
+ break
-def arrow(w, detail): # Arrow key method
- if detail = S.wc_left:
- w.kleft(w)
- elif detail = S.wc_up:
- w.kup(w)
- elif detail = S.wc_right:
- w.kright(w)
- elif detail = S.wc_down:
- w.kdown(w)
+def arrow(w, detail): # Arrow key method
+ if detail = S.wc_left:
+ w.kleft(w)
+ elif detail = S.wc_up:
+ w.kup(w)
+ elif detail = S.wc_right:
+ w.kright(w)
+ elif detail = S.wc_down:
+ w.kdown(w)
# Trivial methods
def tab(w): w.char(w, '\t')
-def enter(w): w.char(w, '\n') # 'return' is a Python reserved word
+def enter(w): w.char(w, '\n') # 'return' is a Python reserved word
def backspace(w): w.char(w, '\b')
def m2down(w, detail): w.mdown(w, detail)
def m2up(w, detail): w.mup(w, detail)