def __init__(self, jd): self.eventsData = [] self.eventsDataIsSet = False self.pluginsText = '' ### self.jd = jd date = core.jd_to(jd, core.primaryMode) self.year, self.month, self.day = date self.weekDay = core.jwday(jd) self.weekNum = core.getWeekNumber(self.year, self.month, self.day) self.holiday = (self.weekDay in core.holidayWeekDays) ################### self.dates = [] for mode in range(len(calTypes)): if mode==core.primaryMode: self.dates.append((self.year, self.month, self.day)) else: self.dates.append(core.jd_to(jd, mode)) ################### for k in core.plugIndex: plug = core.allPlugList[k] if plug.enable: try: plug.update_cell(self) except: myRaiseTback() ################### self.eventsData = event_lib.getDayOccurrenceData(jd, eventGroups)
def updateWidget(self): BaseWidgetClass.updateWidget(self) self.startDateInput.set_value(jd_to(self.group.startJd, self.group.mode)) self.endDateInput.set_value(jd_to(self.group.endJd, self.group.mode)) ### if self.group.remoteIds: aid, gid = self.group.remoteIds else: aid, gid = None, None self.accountCombo.set_active(aid) self.accountGroupCombo.set_active(gid)
def updateEndDates(self): (y, m, d) = self.startDateInput.get_value() jd0 = to_jd(y, m, d, self.altMode) - 1 for row in self.trees: mLen = row[3] jd0 += mLen row[4] = dateLocale(*jd_to(jd0, self.altMode))
def updateWidget(self): #for index, module in enumerate(core.modules): # if module.name != 'hijri': for item in ui.shownCals: mode = item['mode'] modeDesc = moduleDescNames[mode] if not 'hijri' in modeDesc.lower(): self.altMode = mode self.altModeDesc = modeDesc break self.topLabel.set_label(_('Start')+': '+dateLocale(*monthDb.startDate)+' '+_('Equals to')+' %s'%_(self.altModeDesc)) self.startDateInput.set_value(jd_to(monthDb.startJd, self.altMode)) ########### selectYm = getCurrentYm() - 1 ## previous month selectIndex = None self.trees.clear() for index, ym, mLen in monthDb.getMonthLenList(): if ym == selectYm: selectIndex = index (year, month0) = divmod(ym, 12) self.trees.append([ ym, _(year), _(monthName[month0]), mLen, '', ]) self.updateEndDates() ######## if selectIndex is not None: self.treev.scroll_to_cell(str(selectIndex)) self.treev.set_cursor(str(selectIndex))
def updateWidget(self): BaseGroupWidget.updateWidget(self) self.startDateInput.set_value(jd_to(self.group.startJd, self.group.mode)) self.endDateInput.set_value(jd_to(self.group.endJd, self.group.mode))
def calcTimeLineData(timeStart, timeWidth, pixelPerSec, borderTm): timeEnd = timeStart + timeWidth jd0 = getJdFromEpoch(timeStart) jd1 = getJdFromEpoch(timeEnd) widthDays = float(timeWidth) / dayLen dayPixel = dayLen * pixelPerSec ## px #print 'dayPixel = %s px'%dayPixel getEPos = lambda epoch: (epoch-timeStart)*pixelPerSec getJPos = lambda jd: (getEpochFromJd(jd)-timeStart)*pixelPerSec ######################## Holidays holidays = [] if changeHolidayBg and changeHolidayBgMinDays < widthDays < changeHolidayBgMaxDays: for jd in getHolidaysJdList(jd0, jd1+1): holidays.append(getJPos(jd)) ######################## Ticks ticks = [] tickEpochList = [] minStep = minorStepMin / pixelPerSec ## second ################# year0, month0, day0 = jd_to(jd0, core.primaryMode) year1, month1, day1 = jd_to(jd1, core.primaryMode) ############ Year minStepYear = minStep // minYearLenSec ## years ## int or iceil? yearPixel = minYearLenSec * pixelPerSec ## pixels for (year, size) in getYearRangeTickValues(year0, year1+1, minStepYear): tmEpoch = getEpochFromDate(year, 1, 1, core.primaryMode) if tmEpoch in tickEpochList: continue unitSize = size * yearPixel label = formatYear(year) if unitSize >= majorStepMin else '' ticks.append(Tick( tmEpoch, getEPos(tmEpoch), unitSize, label, )) tickEpochList.append(tmEpoch) ############ Month monthPixel = avgMonthLen * pixelPerSec ## px minMonthUnit = float(minStep) / avgMonthLen ## month if minMonthUnit <= 3: for ym in range(year0*12+month0-1, year1*12+month1-1+1):## +1 FIXME if ym%3==0: monthUnit = 3 else: monthUnit = 1 if monthUnit < minMonthUnit: continue y, m = divmod(ym, 12) ; m+=1 tmEpoch = getEpochFromDate(y, m, 1, core.primaryMode) if tmEpoch in tickEpochList: continue unitSize = monthPixel * monthUnit ticks.append(Tick( tmEpoch, getEPos(tmEpoch), unitSize, getMonthName(core.primaryMode, m) if unitSize >= majorStepMin else '', )) tickEpochList.append(tmEpoch) ################ if showWeekStart and showWeekStartMinDays < widthDays < showWeekStartMaxDays: wd0 = jwday(jd0) jdw0 = jd0 + (core.firstWeekDay - wd0) % 7 unitSize = dayPixel * 7 if unitSize < majorStepMin: label = '' else: label = core.weekDayNameAb[core.firstWeekDay] for jd in range(jdw0, jd1+1, 7): tmEpoch = getEpochFromJd(jd) ticks.append(Tick( tmEpoch, getEPos(tmEpoch), unitSize, label, color=weekStartTickColor, )) #tickEpochList.append(tmEpoch) ############ Day of Month hasMonthName = timeWidth < 5 * dayLen minDayUnit = float(minStep) / dayLen ## days if minDayUnit <= 15: for jd in range(jd0, jd1+1): tmEpoch = getEpochFromJd(jd) if tmEpoch in tickEpochList: continue year, month, day = jd_to(jd, core.primaryMode) if day==16: dayUnit = 15 elif day in (6, 11, 21, 26): dayUnit = 5 else: dayUnit = 1 if dayUnit < minDayUnit: continue unitSize = dayPixel*dayUnit if unitSize < majorStepMin: label = '' elif hasMonthName: label = _(day) + ' ' + getMonthName(core.primaryMode, month) else: label = _(day) ticks.append(Tick( tmEpoch, getEPos(tmEpoch), unitSize, label, )) tickEpochList.append(tmEpoch) ############ Hour, Minute, Second for stepUnit, stepValue in unitSteps: stepSec = stepUnit*stepValue if stepSec < minStep: break unitSize = stepSec*pixelPerSec firstEpoch = iceil(timeStart/stepSec)*stepSec for tmEpoch in range(firstEpoch, iceil(timeEnd), stepSec): if tmEpoch in tickEpochList: continue if unitSize < majorStepMin: label = '' else: jd, h, m, s = getJhmsFromEpoch(tmEpoch) if s==0: label = '%s:%s'%( _(h), _(m, fillZero=2), ) else:# elif timeWidth < 60 or stepSec < 30: label = LRM + '%s"'%_(s, fillZero=2) #else: # label = '%s:%s:%s'%( # _(h), # _(m, fillZero=2), # _(s, fillZero=2), # ) ticks.append(Tick( tmEpoch, getEPos(tmEpoch), unitSize, label, )) tickEpochList.append(tmEpoch) ######################## Event Boxes return { 'holidays': holidays, 'ticks': ticks, 'boxes': calcEventBoxes( timeStart, timeEnd, pixelPerSec, borderTm, ), }
def __init__(self, showDesc=False): gtk.Window.__init__(self) self.initVars() ud.windowList.appendItem(self) ### self.set_title(_('Search Events')) self.connect('delete-event', self.closed) self.connect('key-press-event', self.keyPress) ### self.vbox = gtk.VBox() self.add(self.vbox) ###### frame = TextFrame() frame.set_label(_('Text')) frame.set_border_width(5) self.vbox.pack_start(frame, 0, 0) self.textInput = frame ###### jd = core.getCurrentJd() year, month, day = jd_to(jd, core.primaryMode) ###### hbox = gtk.HBox() frame = gtk.Frame(_('Time')) frame.set_border_width(5) vboxIn = gtk.VBox() sgroup = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) #### hboxIn = gtk.HBox() ## self.timeFromCheck = gtk.CheckButton(_('From')) sgroup.add_widget(self.timeFromCheck) hboxIn.pack_start(self.timeFromCheck, 0, 0) hboxIn.pack_start(gtk.Label(' '), 0, 0) ## self.timeFromInput = DateTimeButton() self.timeFromInput.set_value(((year, 1, 1), (0, 0, 0))) hboxIn.pack_start(self.timeFromInput, 0, 0) ## vboxIn.pack_start(hboxIn, 0, 0) #### hboxIn = gtk.HBox() ## self.timeToCheck = gtk.CheckButton(_('To')) sgroup.add_widget(self.timeToCheck) hboxIn.pack_start(self.timeToCheck, 0, 0) hboxIn.pack_start(gtk.Label(' '), 0, 0) ## self.timeToInput = DateTimeButton() self.timeToInput.set_value(((year+1, 1, 1), (0, 0, 0))) hboxIn.pack_start(self.timeToInput, 0, 0) ## vboxIn.pack_start(hboxIn, 0, 0) ## self.timeFromCheck.connect('clicked', self.updateTimeFromSensitive) self.timeToCheck.connect('clicked', self.updateTimeToSensitive) self.updateTimeFromSensitive() self.updateTimeToSensitive() #### vboxIn.set_border_width(5) frame.add(vboxIn) hbox.pack_start(frame, 0, 0) hbox.pack_start(gtk.Label(''), 1, 1) self.vbox.pack_start(hbox, 0, 0) ###### hbox = gtk.HBox() hbox.set_border_width(5) self.modifiedFromCheck = gtk.CheckButton(_('Modified From')) hbox.pack_start(self.modifiedFromCheck, 0, 0) hbox.pack_start(gtk.Label(' '), 0, 0) self.modifiedFromInput = DateTimeButton() self.modifiedFromInput.set_value(((year, 1, 1), (0, 0, 0))) hbox.pack_start(self.modifiedFromInput, 0, 0) ## self.modifiedFromCheck.connect('clicked', self.updateModifiedFromSensitive) self.updateModifiedFromSensitive() self.vbox.pack_start(hbox, 0, 0) ###### hbox = gtk.HBox() hbox.set_border_width(5) self.typeCheck = gtk.CheckButton(_('Event Type')) hbox.pack_start(self.typeCheck, 0, 0) hbox.pack_start(gtk.Label(' '), 0, 0) ## combo = gtk.combo_box_new_text() for cls in event_lib.classes.event: combo.append_text(cls.desc) combo.set_active(0) hbox.pack_start(combo, 0, 0) self.typeCombo = combo ## self.typeCheck.connect('clicked', self.updateTypeSensitive) self.updateTypeSensitive() self.vbox.pack_start(hbox, 0, 0) ###### hbox = gtk.HBox() hbox.set_border_width(5) self.groupCheck = gtk.CheckButton(_('Group')) hbox.pack_start(self.groupCheck, 0, 0) hbox.pack_start(gtk.Label(' '), 0, 0) self.groupCombo = SingleGroupComboBox() hbox.pack_start(self.groupCombo, 0, 0) ## self.groupCheck.connect('clicked', self.updateGroupSensitive) self.updateGroupSensitive() self.vbox.pack_start(hbox, 0, 0) ###### bbox = gtk.HButtonBox() bbox.set_layout(gtk.BUTTONBOX_START) bbox.set_border_width(5) searchButton = gtk.Button() searchButton.set_label(_('_Search')) searchButton.set_image(gtk.image_new_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON)) searchButton.connect('clicked', self.searchClicked) bbox.add(searchButton) self.vbox.pack_start(bbox, 0, 0) ###### treev = gtk.TreeView() trees = gtk.TreeStore(int, int, str, gdk.Pixbuf, str, str) ## gid, eid, group_name, icon, summary, description treev.set_model(trees) treev.connect('row-activated', self.rowActivated) treev.set_headers_clickable(True) ### self.colGroup = gtk.TreeViewColumn(_('Group'), gtk.CellRendererText(), text=2) self.colGroup.set_resizable(True) self.colGroup.set_sort_column_id(2) treev.append_column(self.colGroup) ### self.colIcon = gtk.TreeViewColumn() cell = gtk.CellRendererPixbuf() self.colIcon.pack_start(cell) self.colIcon.add_attribute(cell, 'pixbuf', 3) #self.colIcon.set_sort_column_id(3)## FIXME treev.append_column(self.colIcon) ### self.colSummary = gtk.TreeViewColumn(_('Summary'), gtk.CellRendererText(), text=4) self.colSummary.set_resizable(True) self.colSummary.set_sort_column_id(4) treev.append_column(self.colSummary) ### self.colDesc = gtk.TreeViewColumn(_('Description'), gtk.CellRendererText(), text=5) self.colDesc.set_sort_column_id(5) self.colDesc.set_visible(showDesc) treev.append_column(self.colDesc) ### trees.set_sort_func(2, self.sort_func_group) ###### swin = gtk.ScrolledWindow() swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) swin.add(treev) #### vbox = gtk.VBox(spacing=5) vbox.set_border_width(5) ### topHbox = gtk.HBox() self.resultLabel = gtk.Label('') topHbox.pack_start(self.resultLabel, 0, 0) topHbox.pack_start(gtk.Label(''), 1, 1) vbox.pack_start(topHbox, 0, 0) #### columnBox = gtk.HBox(spacing=5) columnBox.pack_start(gtk.Label(_('Columns')+': '), 0, 0) ## check = gtk.CheckButton(_('Group')) check.set_active(True) check.connect('clicked', lambda w: self.colGroup.set_visible(w.get_active())) columnBox.pack_start(check, 0, 0) ## check = gtk.CheckButton(_('Icon')) check.set_active(True) check.connect('clicked', lambda w: self.colIcon.set_visible(w.get_active())) columnBox.pack_start(check, 0, 0) ## check = gtk.CheckButton(_('Summary')) check.set_active(True) check.connect('clicked', lambda w: self.colSummary.set_visible(w.get_active())) columnBox.pack_start(check, 0, 0) ## check = gtk.CheckButton(_('Description')) check.set_active(showDesc) check.connect('clicked', lambda w: self.colDesc.set_visible(w.get_active())) columnBox.pack_start(check, 0, 0) ## vbox.pack_start(columnBox, 0, 0) #### vbox.pack_start(swin, 1, 1) ## frame = gtk.Frame(_('Search Results')) frame.set_border_width(10) frame.add(vbox) ## self.vbox.pack_start(frame, 1, 1) ### bbox2 = gtk.HButtonBox() bbox2.set_layout(gtk.BUTTONBOX_END) bbox2.set_border_width(10) closeButton = gtk.Button() closeButton.set_label(_('_Close')) closeButton.set_image(gtk.image_new_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_BUTTON)) closeButton.connect('clicked', self.closed) bbox2.add(closeButton) self.vbox.pack_start(bbox2, 0, 0) ###### self.treev = treev self.trees = trees self.vbox.show_all()