PyScore

01: # -*- python -*-
02: ###### entries.py ###### python package PyScore.timesheet module entries ######
03: 
04: # PyScore
05: # a race scoring programme
06: # written by Matt Draisey
07: # 2004 April 6
08: 
09: reloadables=[]
10: 
11: ###### entries.py ###### python package PyScore.timesheet module entries ######
12: 
13: import gtk,gobject
14: from timesheet import guiview
15: 
16: # load the view
17: # load controller now and set controller globals that must survive a reload
18: 
19: from timesheet import entriesview as view
20: from timesheet import Entries,entriesmod as modeller,entriescon as controller
21: 
22: # export the initialization routine
23: 
24: populate=controller.populate
25: 
26: # the model
27: 
28: #Entries.model=gtk.ListStore(int,int,str,str,str,str,bool,bool,bool,bool,bool,str,str,str,str,str)
29: view.listview.set_model(Entries.model)
30: 
31: # the controller callbacks
32: 
33: gtk.quit_add(0,lambda *x: controller.on_save(*x))
34: gobject.timeout_add(60000,lambda *x: controller.on_save(*x))
35: 
36: guiview.widgets.signal_autoconnect({
37:     "on_save1_activate": lambda *x: controller.on_save(*x),
38:     "on_undo1_activate": lambda *x: modeller.on_do(Entries.history.undo),
39:     "on_redo1_activate": lambda *x: modeller.on_do(Entries.history.redo),
40:     "on_delete1_activate": lambda *x: controller.on_delete(*x),
41: })
42: 
43: #view.compbook.connect("switch-page",lambda *x: controller.on_page_switched(*x))
44: 
45: view.commentbox.connect("key-press-event",
46:     lambda *x: controller.on_box_key_press(*x)
47: )
48: view.commentbox.connect("changed",
49:     lambda *x: controller.on_commentbox_changed(*x)
50: )
51: view.enterbutton.connect("clicked",lambda *x: controller.on_button_clicked(*x))
52: view.listview.connect("cursor-changed",
53:     lambda *x: controller.on_view_cursor_changed(*x)
54: )
55: 
56: for (col,subcol,field) in view.visiblefields:
57:     view.renderer[col][subcol].connect("editing-started",
58:         lambda *x: controller.grab_column(None),
59:     )
60:     view.renderer[col][subcol].connect("edited",
61:         lambda *x: controller.on_view_cell_edited(*x),
62:         col,field,
63:     )
64: 
65: for (col,subcol,field) in view.visibletoggles:
66:     assert col==2
67:     view.renderer[2][subcol].connect("toggled",
68:         lambda *x: controller.on_view_cell_toggled(*x),
69:         field,
70:     )
71: 
72: # register reloadables
73: 
74: #reloadables+=[boatlist]
75: reloadables+=[controller]
76: 
77: # show it
78: 
79: view.listview.show()
80: 
81: ###### entries.py ###### python package PyScore.timesheet module entries ######