class View(Views.View):
- def __init__(self, context, label, x, y, dx, dy, size=9):
- Views.View.__init__(self, context, label, x, y, dx, dy)
+ def __init__(self, context, label, x, y, dx, dy, size=9, ignore_keys = ()):
+ Views.View.__init__(self, context, label, x, y, dx, dy )
self._size = size
+ self._ignore_keys = ignore_keys
def updateView(self, bindings):
self.win().clear()
keys = bindings.keys()
keys.sort()
column = 2
- row = 2
+ row = 1
for key in keys:
keyname = curses.keyname(key.code)
if keyname.startswith('KEY_'):
keyname = '%sC-%s' % (keyname[:-2],keyname[-1:].lower())
if curses.ascii.isupper(ord(keyname[-1:])):
keyname = '%sS-%s' % (keyname[:-1],keyname[-1:].lower())
+ if keyname in self._ignore_keys : continue
self.win().addstr(row, column, '%-6s %s'
% (keyname, bindings[key].label[:self._size]))
row += 1
- if row >= self.dy-2:
- row = 2
+ if row >= self.dy-1:
+ row = 1
column += self._size+10
if column+self._size+7 >= self.dx : break
self.win().vline(1,column-2,curses.ACS_VLINE,self.dy-2)
x,
y,
dx,
- dy ):
- viewmanager.registerView( View(context, label, x,y,dx,dy) )
+ dy,
+ size = 9,
+ ignore_keys = ()):
+ viewmanager.registerView( View(context, label, x,y,dx,dy,size,ignore_keys) )
dispatcher.registerSource( Source(context, viewmanager.win()) )