def show(self): """ display the dialog and run the event loop """ self._form = stfl.create(self.stfl_layout) self._update_view(self._form, self._ctrl) self._form.set_focus('dir') while True: e = self._form.run(0) if e == 'focus_dir': self._form.set_focus('dir') elif e == 'focus_pdfcmd': self._form.set_focus('pdfcmd') elif e == 'focus_chmcmd': self._form.set_focus('chmcmd') elif e == 'focus_showcmd': self._form.set_focus('showcmd') elif e == '^R': if self._ctrl.get_setting('dir') != self._form.get('dirtxt'): self._form.set('dirtxt', self._ctrl.get_setting('dir')) self._reload_library(self._ctrl) elif e == '^U': return elif e == '^X': oldlibdir = self._ctrl.get_setting('dir') self._save(self._form, self._ctrl) if oldlibdir != self._ctrl.get_setting('dir'): self._reload_library(self._ctrl) return
def __init__(self, controller): """ construct and display a reload library dialog controller - an object which provides methods for reloading the library """ self._ctrl = controller self._form = stfl.create(self.stfl_layout) self._form.run(1)
def __init__(self, controller): """ create a ConsoleInterface object controller -- module providing an interface to the book database """ self._ctrl = controller self._form = stfl.create(self.stfl_layout) self._fill_list(self._ctrl.get_all())
#!/usr/bin/env python import sys import stfl if len(sys.argv) <> 2: print "Usage: %s stfl-file"%sys.argv[0] sys.exit(1) f=stfl.create("<"+sys.argv[1]+">") while True: try: e=f.run(0) except KeyboardInterrupt: e='^C' if e=='^C': break; elif e=='ESC': break;
w = csv.writer(open(self.file, 'w'), delimiter=self.delimiter) w.writerows(self.data) if __name__ == "__main__": if len(sys.argv) not in [2, 3]: print "Usage: %s file.csv [delimiter]" % sys.argv[0] sys.exit(1) c = CSV(sys.argv[1], len(sys.argv) == 3 and sys.argv[2] or ",") table = c.stfltable() form = "{vbox %s {label} {hbox .expand:0 @style_normal:attr=reverse {label text[statusbar]:}{label text[help]: .tie:r}}" % table f = stfl.create(form) def setstatus(text): f.set('statusbar', text) def sethelp(text): f.set('help', text) def currentcell(): return c.namecell(f.get_focus()) def setcell(row, col): f.set_focus(c.cellname(row, col)) setstatus("editing %s" % c.file) sethelp("^W = write, ^C = exit")
list[list] .expand:h .border:lrtb pos[listpos]:0 pos_name[listposname]:li0 listitem[li0] text[li0text]:"ListItem 0" listitem[li1] text[li1text]:"ListItem 1" listitem[li2] text[li2text]:"ListItem 2" tablebr label[label] .expand:h .border:lrtb text[labeltext]: ''' stfl_obj = stfl.create(layout) while True: event = stfl_obj.run(0) focus = stfl_obj.get_focus pos = stfl_obj.get('listpos') pos_name = stfl_obj.get('listposname') text = stfl_obj.get(pos_name + 'text') stfl_obj.set('labeltext', "List is at position %s, name %s, text '%s'" % (pos, pos_name, text)) if not event: next if event == '^L': stfl.redraw() if event == 'ESC': break