topline = 0
entries = []
selected = []
+ commands = [(' q', 'quit')]
# column definitions are in (label, weight, specified width) triples
columnDefs = [('something',1,None)]
mx = my = 0
self.w.erase()
self.w.refresh()
- def __init__(self,window):
+ def __init__(self,window,helpbar):
self.w = window
+ self.hb = helpbar
self.updateGeometry()
def sortByColumn(self, col):
self.columns=cols
def refresh(self):
+ self.hb.commands = self.commands
+ self.hb.refresh()
self.displayHeader()
for r in range(0,self.pageSize):
self.displayRow(r)
('ISBN',0,13),
('Authors',30,None),
('Title',60,None)]
+
+ commands = [(' u', 'update'), (' d', 'delete selected'), (' q', 'quit')]
+
# redefinable functions
def updateSelection(self,book):
bookid = book['id']
w=curses.newwin(1,1,20,20)
- bf=bookForm(w)
+ bf=bookForm(w,self.hb,book)
bf.caption='Update Book '+str(bookid)
bf.blabel='update'
- bf.updateEntries(book)
newbook = bf.eventLoop()
if len(newbook)!=0:
db.updateBook(newbook,bookid)
def viewSelection(self,book):
bookid = book['id']
w=curses.newwin(1,1,20,20)
- bf = bookForm(w)
+ bf = bookForm(w,self.hb,book)
bf.caption='Viewing Book '+str(bookid)
bf.blabel='done'
- bf.updateEntries(book)
bf.eventLoop()
bf.clear()
browserWindow.handleInput(self,ch)
if ch == 117: #update on 'u'
book = self.entries[self.hl]
- self.updateSelection(entries)
+ self.updateSelection(book)
self.entries[self.hl]=db.getBookByID(book['id'])
self.refresh()
elif ch == 10:
class categoryBrowser(browserWindow):
columnDefs = [('Category',100,None)]
+ commands = [(' a', 'add category'), (' d', 'delete selected'), (' q', 'quit')]
def refreshCategories(self):
def addCategory(self):
w = curses.newwin(1,1,10,10)
- cf = categoryForm(w)
+ cf = categoryForm(w,self.hb)
cats = cf.eventLoop()
print >> sys.stderr, cats
for c in cats:
labels = ["label1"]
entries = []
+ commands = [('pU', 'top'),('pD', 'bottom'),('Es', 'cancel')]
+
def clear(self):
self.w.erase()
self.w.refresh()
- def __init__(self,window,book={}):
+ def __init__(self,window,helpbar,book={}):
self.w = window
self.w.resize(len(self.labels)+6,50)
+ self.hb = helpbar
self.updateEntries(book)
self.updateGeometry()
self.entries.append("")
def refresh(self):
+ self.hb.commands = self.commands
+ self.hb.refresh()
self.updateGeometry()
self.w.box()
self.w.addstr(0,(self.mx-len(self.caption))/2,self.caption)
hb=0
menu_commands = [(' q','quit')]
-browser_commands = [(' u','update'), (' d','delete'), (' q','quit')]
def menutest(s, l):
global stdscr
def addForm():
w=curses.newwin(1,1)
(my,mx)=stdscr.getmaxyx()
- bf = form.bookForm(w)
+ bf = form.bookForm(w,hb)
(r,c)=w.getmaxyx()
w.mvwin((my-r)/2,(mx-c)/2)
bf.lookup=bookData.openLibrary
def browseMenu():
(my,mx)=stdscr.getmaxyx()
w=curses.newwin(20,80,(my-20)/2,(mx-80)/2)
- b = browser.bookBrowser(w)
+ b = browser.bookBrowser(w,hb)
b.refreshBooks()
- hb.commands=browser_commands
- hb.refresh()
b.eventLoop()
b.clear()
def catMenu():
(my,mx)=stdscr.getmaxyx()
w=curses.newwin(10,40,(my-10)/2,(mx-40)/2)
- c = browser.categoryBrowser(w)
+ c = browser.categoryBrowser(w,hb)
c.refreshCategories()
c.sortByColumn('category')
- hb.commands=browser_commands
- hb.refresh()
c.eventLoop()
c.clear()