コード例 #1
0
ファイル: lifeTime.py プロジェクト: ilius/starcal2
 def __init__(self, event):  ## FIXME
     common.WidgetClass.__init__(self, event)
     ######
     sizeGroup = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
     ######
     try:
         seperated = event.parent.showSeperatedYmdInputs
     except AttributeError:
         seperated = False
     if seperated:
         self.startDateInput = YearMonthDayBox()
         self.endDateInput = YearMonthDayBox()
     else:
         self.startDateInput = DateButton()
         self.endDateInput = DateButton()
     ######
     hbox = gtk.HBox()
     label = gtk.Label(_('Start') + ': ')
     label.set_alignment(0, 0.5)
     sizeGroup.add_widget(label)
     pack(hbox, label)
     pack(hbox, self.startDateInput)
     pack(self, hbox)
     ######
     hbox = gtk.HBox()
     label = gtk.Label(_('End') + ': ')
     label.set_alignment(0, 0.5)
     sizeGroup.add_widget(label)
     pack(hbox, label)
     pack(hbox, self.endDateInput)
     pack(self, hbox)
コード例 #2
0
ファイル: selectdate.py プロジェクト: ilius/starcal2
	def __init__(self):
		gtk.Dialog.__init__(self, title=_('Select Date...'))
		self.set_has_separator(False)
		#self.set_skip_taskbar_hint(True)
		self.connect('delete-event', self.hideMe)
		self.mode = calTypes.primary
		###### Reciving dropped day!
		self.drag_dest_set(gdk.MODIFIER_MASK,\
			(('a', 0, 0),), gdk.ACTION_COPY)
		self.drag_dest_add_text_targets()
		self.connect('drag-data-received', self.dragRec)
		######
		hb0 = gtk.HBox(spacing=4)
		pack(hb0, gtk.Label(_('Date Mode')))
		combo = CalTypeCombo()
		combo.set_active(self.mode)
		pack(hb0, combo)
		pack(self.vbox, hb0)
		#######################
		hbox = gtk.HBox(spacing=5)
		rb1 = gtk.RadioButton()
		rb1.num = 1
		pack(hbox, rb1)
		self.ymdBox = YearMonthDayBox()
		pack(hbox, self.ymdBox)
		pack(self.vbox, hbox)
		########
		hb2 = gtk.HBox(spacing=4)
		pack(hb2, gtk.Label('yyyy/mm/dd'))
		dateInput = DateButtonOption(hist_size=16)
		pack(hb2, dateInput)
		rb2 = gtk.RadioButton()
		rb2.num = 2
		rb2.set_group(rb1)
		hb2i = gtk.HBox(spacing=5)
		pack(hb2i, rb2)
		pack(hb2i, hb2)
		pack(self.vbox, hb2i)
		#######
		dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), 2, self.hideMe)
		dialog_add_button(self, gtk.STOCK_OK, _('_OK'), 1, self.ok)
		#######
		self.comboMode = combo
		self.dateInput = dateInput
		self.radio1 = rb1
		self.radio2 = rb2
		self.hbox2 = hb2
		#######
		combo.connect ('changed', self.comboModeChanged)
		rb1.connect_after('clicked', self.radioChanged)
		rb2.connect_after('clicked', self.radioChanged)
		dateInput.connect('activate', self.ok)
		self.radioChanged()
		#######
		self.vbox.show_all()
コード例 #3
0
ファイル: selectdate.py プロジェクト: amirkarimi/starcal
 def __init__(self):
     gtk.Dialog.__init__(self, title=_('Select Date...'))
     self.set_has_separator(False)
     #self.set_skip_taskbar_hint(True)
     self.connect('delete-event', self.hideMe)
     self.mode = calTypes.primary
     ###### Reciving dropped day!
     self.drag_dest_set(gdk.MODIFIER_MASK,\
         (('a', 0, 0),), gdk.ACTION_COPY)
     self.drag_dest_add_text_targets()
     self.connect('drag-data-received', self.dragRec)
     ######
     hb0 = gtk.HBox(spacing=4)
     pack(hb0, gtk.Label(_('Date Mode')))
     combo = CalTypeCombo()
     combo.set_active(self.mode)
     pack(hb0, combo)
     pack(self.vbox, hb0)
     #######################
     hbox = gtk.HBox(spacing=5)
     rb1 = gtk.RadioButton()
     rb1.num = 1
     pack(hbox, rb1)
     self.ymdBox = YearMonthDayBox()
     pack(hbox, self.ymdBox)
     pack(self.vbox, hbox)
     ########
     hb2 = gtk.HBox(spacing=4)
     pack(hb2, gtk.Label('yyyy/mm/dd'))
     dateInput = DateButtonOption(hist_size=16)
     pack(hb2, dateInput)
     rb2 = gtk.RadioButton()
     rb2.num = 2
     rb2.set_group(rb1)
     hb2i = gtk.HBox(spacing=5)
     pack(hb2i, rb2)
     pack(hb2i, hb2)
     pack(self.vbox, hb2i)
     #######
     dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), 2, self.hideMe)
     dialog_add_button(self, gtk.STOCK_OK, _('_OK'), 1, self.ok)
     #######
     self.comboMode = combo
     self.dateInput = dateInput
     self.radio1 = rb1
     self.radio2 = rb2
     self.hbox2 = hb2
     #######
     combo.connect ('changed', self.comboModeChanged)
     rb1.connect_after('clicked', self.radioChanged)
     rb2.connect_after('clicked', self.radioChanged)
     dateInput.connect('activate', self.ok)
     self.radioChanged()
     #######
     self.vbox.show_all()
コード例 #4
0
ファイル: selectdate.py プロジェクト: amirkarimi/starcal
class SelectDateDialog(gtk.Dialog):
    signals = [
        ('response-date', [int, int, int]),
    ]
    def __init__(self):
        gtk.Dialog.__init__(self, title=_('Select Date...'))
        self.set_has_separator(False)
        #self.set_skip_taskbar_hint(True)
        self.connect('delete-event', self.hideMe)
        self.mode = calTypes.primary
        ###### Reciving dropped day!
        self.drag_dest_set(gdk.MODIFIER_MASK,\
            (('a', 0, 0),), gdk.ACTION_COPY)
        self.drag_dest_add_text_targets()
        self.connect('drag-data-received', self.dragRec)
        ######
        hb0 = gtk.HBox(spacing=4)
        pack(hb0, gtk.Label(_('Date Mode')))
        combo = CalTypeCombo()
        combo.set_active(self.mode)
        pack(hb0, combo)
        pack(self.vbox, hb0)
        #######################
        hbox = gtk.HBox(spacing=5)
        rb1 = gtk.RadioButton()
        rb1.num = 1
        pack(hbox, rb1)
        self.ymdBox = YearMonthDayBox()
        pack(hbox, self.ymdBox)
        pack(self.vbox, hbox)
        ########
        hb2 = gtk.HBox(spacing=4)
        pack(hb2, gtk.Label('yyyy/mm/dd'))
        dateInput = DateButtonOption(hist_size=16)
        pack(hb2, dateInput)
        rb2 = gtk.RadioButton()
        rb2.num = 2
        rb2.set_group(rb1)
        hb2i = gtk.HBox(spacing=5)
        pack(hb2i, rb2)
        pack(hb2i, hb2)
        pack(self.vbox, hb2i)
        #######
        dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), 2, self.hideMe)
        dialog_add_button(self, gtk.STOCK_OK, _('_OK'), 1, self.ok)
        #######
        self.comboMode = combo
        self.dateInput = dateInput
        self.radio1 = rb1
        self.radio2 = rb2
        self.hbox2 = hb2
        #######
        combo.connect ('changed', self.comboModeChanged)
        rb1.connect_after('clicked', self.radioChanged)
        rb2.connect_after('clicked', self.radioChanged)
        dateInput.connect('activate', self.ok)
        self.radioChanged()
        #######
        self.vbox.show_all()
    def dragRec(self, obj, context, x, y, selection, target_id, etime):
        text = selection.get_text()
        if text==None:
            return
        date = ui.parseDroppedDate(text)
        if date==None:
            print('selectDateDialog: dropped text "%s"'%text)
            return
        print('selectDateDialog: dropped date: %d/%d/%d'%date)
        mode = self.comboMode.get_active()
        if mode!=ui.dragGetMode:
            date = convert(date[0], date[1], date[2], ui.dragGetMode, mode)
        self.dateInput.set_value(date)
        self.dateInput.add_history()
        return True
    def show(self):
        ## Show a window that ask the date and set on the calendar
        mode = calTypes.primary
        y, m, d = ui.cell.dates[mode]
        self.set_mode(mode)
        self.set(y, m, d)
        openWindow(self)
    def hideMe(self, widget, event=None):
        self.hide()
        return True
    def set(self, y, m, d):
        self.ymdBox.set_value((y, m, d))
        self.dateInput.set_value((y, m, d))
        self.dateInput.add_history()
    def set_mode(self, mode):
        self.mode = mode
        module = calTypes[mode]
        self.comboMode.set_active(mode)
        self.ymdBox.set_mode(mode)
        self.dateInput.setMaxDay(module.maxMonthLen)
    def comboModeChanged(self, widget=None):
        pMode = self.mode
        pDate = self.get()
        mode = self.comboMode.get_active()
        module = calTypes[mode]
        if pDate==None:
            y, m, d = ui.cell.dates[mode]
        else:
            y0, m0, d0 = pDate
            y, m, d = convert(y0, m0, d0, pMode, mode)
        self.ymdBox.set_mode(mode)
        self.dateInput.setMaxDay(module.maxMonthLen)
        self.set(y, m, d)
        self.mode = mode
    def get(self):
        mode = self.comboMode.get_active()
        if self.radio1.get_active():
            y0, m0, d0 = self.ymdBox.get_value()
        elif self.radio2.get_active():
            y0, m0, d0 = self.dateInput.get_value()
        return (y0, m0, d0)
    def ok(self, widget):
        mode = self.comboMode.get_active()
        if mode==None:
            return
        get = self.get()
        if get==None:
            return
        y0, m0, d0 = get
        if mode==calTypes.primary:
            y, m, d = (y0, m0, d0)
        else:
            y, m, d = convert(y0, m0, d0, mode, calTypes.primary)
        #if not core.validDate(mode, y, m, d):
        #    print('bad date', mode, y, m, d)
        #    return
        self.emit('response-date', y, m, d)
        self.hide()
        self.dateInput.set_value((y0, m0, d0))
        self.dateInput.add_history()
    def radioChanged(self, widget=None):
        if self.radio1.get_active():
            self.ymdBox.set_sensitive(True)
            self.hbox2.set_sensitive(False)
        else:
            self.ymdBox.set_sensitive(False)
            self.hbox2.set_sensitive(True)
コード例 #5
0
ファイル: selectdate.py プロジェクト: ilius/starcal2
class SelectDateDialog(gtk.Dialog):
	signals = [
		('response-date', [int, int, int]),
	]
	def __init__(self):
		gtk.Dialog.__init__(self, title=_('Select Date...'))
		self.set_has_separator(False)
		#self.set_skip_taskbar_hint(True)
		self.connect('delete-event', self.hideMe)
		self.mode = calTypes.primary
		###### Reciving dropped day!
		self.drag_dest_set(gdk.MODIFIER_MASK,\
			(('a', 0, 0),), gdk.ACTION_COPY)
		self.drag_dest_add_text_targets()
		self.connect('drag-data-received', self.dragRec)
		######
		hb0 = gtk.HBox(spacing=4)
		pack(hb0, gtk.Label(_('Date Mode')))
		combo = CalTypeCombo()
		combo.set_active(self.mode)
		pack(hb0, combo)
		pack(self.vbox, hb0)
		#######################
		hbox = gtk.HBox(spacing=5)
		rb1 = gtk.RadioButton()
		rb1.num = 1
		pack(hbox, rb1)
		self.ymdBox = YearMonthDayBox()
		pack(hbox, self.ymdBox)
		pack(self.vbox, hbox)
		########
		hb2 = gtk.HBox(spacing=4)
		pack(hb2, gtk.Label('yyyy/mm/dd'))
		dateInput = DateButtonOption(hist_size=16)
		pack(hb2, dateInput)
		rb2 = gtk.RadioButton()
		rb2.num = 2
		rb2.set_group(rb1)
		hb2i = gtk.HBox(spacing=5)
		pack(hb2i, rb2)
		pack(hb2i, hb2)
		pack(self.vbox, hb2i)
		#######
		dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), 2, self.hideMe)
		dialog_add_button(self, gtk.STOCK_OK, _('_OK'), 1, self.ok)
		#######
		self.comboMode = combo
		self.dateInput = dateInput
		self.radio1 = rb1
		self.radio2 = rb2
		self.hbox2 = hb2
		#######
		combo.connect ('changed', self.comboModeChanged)
		rb1.connect_after('clicked', self.radioChanged)
		rb2.connect_after('clicked', self.radioChanged)
		dateInput.connect('activate', self.ok)
		self.radioChanged()
		#######
		self.vbox.show_all()
	def dragRec(self, obj, context, x, y, selection, target_id, etime):
		text = selection.get_text()
		if text==None:
			return
		date = ui.parseDroppedDate(text)
		if date==None:
			print('selectDateDialog: dropped text "%s"'%text)
			return
		print('selectDateDialog: dropped date: %d/%d/%d'%date)
		mode = self.comboMode.get_active()
		if mode!=ui.dragGetMode:
			date = convert(date[0], date[1], date[2], ui.dragGetMode, mode)
		self.dateInput.set_value(date)
		self.dateInput.add_history()
		return True
	def show(self):
		## Show a window that ask the date and set on the calendar
		mode = calTypes.primary
		y, m, d = ui.cell.dates[mode]
		self.set_mode(mode)
		self.set(y, m, d)
		openWindow(self)
	def hideMe(self, widget, event=None):
		self.hide()
		return True
	def set(self, y, m, d):
		self.ymdBox.set_value((y, m, d))
		self.dateInput.set_value((y, m, d))
		self.dateInput.add_history()
	def set_mode(self, mode):
		self.mode = mode
		module = calTypes[mode]
		self.comboMode.set_active(mode)
		self.ymdBox.set_mode(mode)
		self.dateInput.setMaxDay(module.maxMonthLen)
	def comboModeChanged(self, widget=None):
		pMode = self.mode
		pDate = self.get()
		mode = self.comboMode.get_active()
		module = calTypes[mode]
		if pDate==None:
			y, m, d = ui.cell.dates[mode]
		else:
			y0, m0, d0 = pDate
			y, m, d = convert(y0, m0, d0, pMode, mode)
		self.ymdBox.set_mode(mode)
		self.dateInput.setMaxDay(module.maxMonthLen)
		self.set(y, m, d)
		self.mode = mode
	def get(self):
		mode = self.comboMode.get_active()
		if self.radio1.get_active():
			y0, m0, d0 = self.ymdBox.get_value()
		elif self.radio2.get_active():
			y0, m0, d0 = self.dateInput.get_value()
		return (y0, m0, d0)
	def ok(self, widget):
		mode = self.comboMode.get_active()
		if mode==None:
			return
		get = self.get()
		if get==None:
			return
		y0, m0, d0 = get
		if mode==calTypes.primary:
			y, m, d = (y0, m0, d0)
		else:
			y, m, d = convert(y0, m0, d0, mode, calTypes.primary)
		#if not core.validDate(mode, y, m, d):
		#	print('bad date', mode, y, m, d)
		#	return
		self.emit('response-date', y, m, d)
		self.hide()
		self.dateInput.set_value((y0, m0, d0))
		self.dateInput.add_history()
	def radioChanged(self, widget=None):
		if self.radio1.get_active():
			self.ymdBox.set_sensitive(True)
			self.hbox2.set_sensitive(False)
		else:
			self.ymdBox.set_sensitive(False)
			self.hbox2.set_sensitive(True)