def __init__(self, meet, event, ui=True): """Constructor.""" self.meet = meet self.event = event # Note: now a treerowref self.evno = meet.edb.getvalue(event, eventdb.COL_EVNO) self.configpath = os.path.join(self.meet.configpath, 'event_' + self.evno) self.log = logging.getLogger('scbdo.rhcp') self.log.setLevel(logging.DEBUG) self.log.debug('Creating new rhcp event: ' + str(self.evno)) # race run time attributes self.limit_tod = None # Maximum handicap ToD, set on START! self.readonly = not ui self.winopen = True self.timerstat = 'idle' self.start = None self.lstart = None self.riders = gtk.ListStore( gobject.TYPE_STRING, # 0 bib gobject.TYPE_STRING, # 1 series gobject.TYPE_STRING, # 2 namestr gobject.TYPE_STRING, # 3 cat gobject.TYPE_STRING, # 4 comment gobject.TYPE_BOOLEAN, # 5 inrace? gobject.TYPE_PYOBJECT, # 6 hcap gobject.TYPE_PYOBJECT, # 7 finish gobject.TYPE_PYOBJECT, # 8 c-bunch gobject.TYPE_PYOBJECT, # 9 m-bunch gobject.TYPE_STRING) # 10 place b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'rhcp.ui')) self.frame = b.get_object('race_vbox') self.frame.connect('destroy', self.shutdown) # meta info pane self.title_namestr = b.get_object('title_namestr') self.set_titlestr() # Control Pane # TODO -> ctrl, places, action # Result Pane t = gtk.TreeView(self.riders) self.view = t t.set_reorderable(True) t.set_rules_hint(True) t.connect('button_press_event', self.treeview_button_press) # TODO: show team name & club but pop up for rider list uiutil.mkviewcolbibser(t) uiutil.mkviewcoltxt(t, 'Rider', COL_NAMESTR, expand=True) #uiutil.mkviewcoltxt(t, 'Cat', COL_CAT, self.editcol_cb) #!!! #uiutil.mkviewcoltod(t, 'Hcap', cb=self.hcapstr, width=60) #uiutil.mkviewcoltod(t, 'RFtime', cb=self.rftimestr) #uiutil.mkviewcoltod(t, 'Bunch', cb=self.bunchstr) uiutil.mkviewcoltxt(t, 'Rank', COL_PLACE, halign=0.5, calign=0.5) t.show() b.get_object('race_result_win').add(t) # show window if ui: b.connect_signals(self) b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'tod_context.ui')) self.context_menu = b.get_object('tod_context') b.connect_signals(self) self.meet.edb.editevent(event, winopen=True) self.meet.rfu.arm()
def __init__(self, meet, event, ui=True): """Constructor.""" self.meet = meet self.event = event # Note: now a treerowref self.evno = meet.edb.getvalue(event, eventdb.COL_EVNO) self.configpath = os.path.join(self.meet.configpath, 'event_' + self.evno) self.log = logging.getLogger('scbdo.rhcp') self.log.setLevel(logging.DEBUG) self.log.debug('Creating new rhcp event: ' + str(self.evno)) # race run time attributes self.limit_tod = None # Maximum handicap ToD, set on START! self.readonly = not ui self.winopen = True self.timerstat = 'idle' self.start = None self.lstart = None self.riders = gtk.ListStore(gobject.TYPE_STRING, # 0 bib gobject.TYPE_STRING, # 1 series gobject.TYPE_STRING, # 2 namestr gobject.TYPE_STRING, # 3 cat gobject.TYPE_STRING, # 4 comment gobject.TYPE_BOOLEAN, # 5 inrace? gobject.TYPE_PYOBJECT, # 6 hcap gobject.TYPE_PYOBJECT, # 7 finish gobject.TYPE_PYOBJECT, # 8 c-bunch gobject.TYPE_PYOBJECT, # 9 m-bunch gobject.TYPE_STRING) # 10 place b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'rhcp.ui')) self.frame = b.get_object('race_vbox') self.frame.connect('destroy', self.shutdown) # meta info pane self.title_namestr = b.get_object('title_namestr') self.set_titlestr() # Control Pane # TODO -> ctrl, places, action # Result Pane t = gtk.TreeView(self.riders) self.view = t t.set_reorderable(True) t.set_rules_hint(True) t.connect('button_press_event', self.treeview_button_press) # TODO: show team name & club but pop up for rider list uiutil.mkviewcolbibser(t) uiutil.mkviewcoltxt(t, 'Rider', COL_NAMESTR, expand=True) #uiutil.mkviewcoltxt(t, 'Cat', COL_CAT, self.editcol_cb) #!!! #uiutil.mkviewcoltod(t, 'Hcap', cb=self.hcapstr, width=60) #uiutil.mkviewcoltod(t, 'RFtime', cb=self.rftimestr) #uiutil.mkviewcoltod(t, 'Bunch', cb=self.bunchstr) uiutil.mkviewcoltxt(t, 'Rank', COL_PLACE, halign=0.5, calign=0.5) t.show() b.get_object('race_result_win').add(t) # show window if ui: b.connect_signals(self) b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'tod_context.ui')) self.context_menu = b.get_object('tod_context') b.connect_signals(self) self.meet.edb.editevent(event, winopen=True) self.meet.rfu.arm()
def __init__(self, meet, event, ui=True): """Constructor.""" self.meet = meet self.event = event # Note: now a treerowref self.evno = meet.edb.getvalue(event, eventdb.COL_EVNO) self.configpath = os.path.join(self.meet.configpath, 'event_' + self.evno) self.log = logging.getLogger('scbdo.irtt') self.log.setLevel(logging.DEBUG) self.log.debug('Creating new irtt event: ' + str(self.evno)) # properties # race run time attributes self.onestart = False self.readonly = not ui self.winopen = True self.timerstat = 'idle' self.start = None self.lstart = None self.start_unload = None self.results = tod.todlist('NET') self.unstarters = {} self.curfintod = None self.recent_starts = {} self.riders = gtk.ListStore( gobject.TYPE_STRING, # 0 bib gobject.TYPE_STRING, # 1 series gobject.TYPE_STRING, # 2 namestr gobject.TYPE_STRING, # 3 cat gobject.TYPE_STRING, # 4 comment gobject.TYPE_PYOBJECT, # 5 wstart gobject.TYPE_PYOBJECT, # 6 tstart gobject.TYPE_PYOBJECT, # 7 finish gobject.TYPE_STRING) # 8 place b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'irtt.ui')) self.frame = b.get_object('race_vbox') self.frame.connect('destroy', self.shutdown) # meta info pane self.title_namestr = b.get_object('title_namestr') self.set_titlestr() # Timer Panes mf = b.get_object('race_timer_pane') self.sl = timerpane.timerpane('Start Line', doser=True) self.sl.disable() self.sl.bibent.connect('activate', self.bibent_cb, self.sl) self.sl.serent.connect('activate', self.bibent_cb, self.sl) self.fl = timerpane.timerpane('Finish Line', doser=True) self.fl.disable() self.fl.bibent.connect('activate', self.bibent_cb, self.fl) self.fl.serent.connect('activate', self.bibent_cb, self.fl) mf.pack_start(self.sl.frame) mf.pack_start(self.fl.frame) mf.set_focus_chain([self.sl.frame, self.fl.frame, self.sl.frame]) # Result Pane t = gtk.TreeView(self.riders) self.view = t t.set_reorderable(True) t.set_rules_hint(True) t.connect('button_press_event', self.treeview_button_press) # TODO: show team name & club but pop up for rider list uiutil.mkviewcolbibser(t) uiutil.mkviewcoltxt(t, 'Rider', COL_NAMESTR, expand=True) uiutil.mkviewcoltxt(t, 'Cat', COL_CAT, self.editcol_cb) # -> Add in start time field with edit! uiutil.mkviewcoltod(t, 'Start', cb=self.wallstartstr, width=90) uiutil.mkviewcoltod(t, 'Time', cb=self.elapstr) uiutil.mkviewcoltxt(t, 'Rank', COL_PLACE, halign=0.5, calign=0.5) t.show() b.get_object('race_result_win').add(t) # show window if ui: b.connect_signals(self) b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'tod_context.ui')) self.context_menu = b.get_object('tod_context') b.connect_signals(self) self.meet.edb.editevent(event, winopen=True) self.meet.rfu.arm()
def __init__(self, meet, event, ui=True): """Constructor.""" self.meet = meet self.event = event # Note: now a treerowref self.evno = meet.edb.getvalue(event, eventdb.COL_EVNO) self.configpath = os.path.join(self.meet.configpath, 'event_' + self.evno) self.log = logging.getLogger('scbdo.irtt') self.log.setLevel(logging.DEBUG) self.log.debug('Creating new irtt event: ' + str(self.evno)) # properties # race run time attributes self.onestart = False self.readonly = not ui self.winopen = True self.timerstat = 'idle' self.start = None self.lstart = None self.start_unload = None self.results = tod.todlist('NET') self.unstarters = {} self.curfintod = None self.recent_starts = {} self.riders = gtk.ListStore(gobject.TYPE_STRING, # 0 bib gobject.TYPE_STRING, # 1 series gobject.TYPE_STRING, # 2 namestr gobject.TYPE_STRING, # 3 cat gobject.TYPE_STRING, # 4 comment gobject.TYPE_PYOBJECT, # 5 wstart gobject.TYPE_PYOBJECT, # 6 tstart gobject.TYPE_PYOBJECT, # 7 finish gobject.TYPE_STRING) # 8 place b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'irtt.ui')) self.frame = b.get_object('race_vbox') self.frame.connect('destroy', self.shutdown) # meta info pane self.title_namestr = b.get_object('title_namestr') self.set_titlestr() # Timer Panes mf = b.get_object('race_timer_pane') self.sl = timerpane.timerpane('Start Line', doser=True) self.sl.disable() self.sl.bibent.connect('activate', self.bibent_cb, self.sl) self.sl.serent.connect('activate', self.bibent_cb, self.sl) self.fl = timerpane.timerpane('Finish Line', doser=True) self.fl.disable() self.fl.bibent.connect('activate', self.bibent_cb, self.fl) self.fl.serent.connect('activate', self.bibent_cb, self.fl) mf.pack_start(self.sl.frame) mf.pack_start(self.fl.frame) mf.set_focus_chain([self.sl.frame, self.fl.frame, self.sl.frame]) # Result Pane t = gtk.TreeView(self.riders) self.view = t t.set_reorderable(True) t.set_rules_hint(True) t.connect('button_press_event', self.treeview_button_press) # TODO: show team name & club but pop up for rider list uiutil.mkviewcolbibser(t) uiutil.mkviewcoltxt(t, 'Rider', COL_NAMESTR, expand=True) uiutil.mkviewcoltxt(t, 'Cat', COL_CAT, self.editcol_cb) # -> Add in start time field with edit! uiutil.mkviewcoltod(t, 'Start', cb=self.wallstartstr, width=90) uiutil.mkviewcoltod(t, 'Time', cb=self.elapstr) uiutil.mkviewcoltxt(t, 'Rank', COL_PLACE, halign=0.5, calign=0.5) t.show() b.get_object('race_result_win').add(t) # show window if ui: b.connect_signals(self) b = gtk.Builder() b.add_from_file(os.path.join(scbdo.UI_PATH, 'tod_context.ui')) self.context_menu = b.get_object('tod_context') b.connect_signals(self) self.meet.edb.editevent(event, winopen=True) self.meet.rfu.arm()