require "rubygems"
require "wx"
include Wx
class Ejemplo < App
def on_init
frameEjemplo = Frame.new(nil, -1, "Ejemplo")
@cal = CalendarCtrl.new(frameEjemplo, 2,
Time.new,
[20,10],
[300,170],
CAL_SHOW_HOLIDAYS)
StaticText.new(frameEjemplo, 3, "Día", [ 20, 200])
StaticText.new(frameEjemplo, 4, "Mes", [100, 200])
StaticText.new(frameEjemplo, 5, "Año", [180, 200])
@st1 = StaticText.new(frameEjemplo, 6, "--", [ 20, 220])
@st2 = StaticText.new(frameEjemplo, 7, "--", [100, 220])
@st3 = StaticText.new(frameEjemplo, 8, "--", [180, 220])
feriados()
fecha_seleccionada()
evt_calendar_month(2) { |event| feriados }
evt_calendar_year(2) { |event| feriados }
evt_calendar_sel_changed(2) { |event| fecha_seleccionada }
frameEjemplo.show()
end
def feriados
fecha = @cal.get_date
if fecha.month 1
@cal.set_holiday(1)
elsif fecha.month 4
@cal.set_holiday(2)
elsif fecha.month 5
@cal.set_holiday(1)
@cal.set_holiday(25)
elsif fecha.month 6
@cal.set_holiday(20)
elsif fecha.month 7
@cal.set_holiday(9)
elsif fecha.month 8
@cal.set_holiday(17)
elsif fecha.month 10
@cal.set_holiday(12)
elsif fecha.month 12
@cal.set_holiday(8)
@cal.set_holiday(25)
@cal.set_holiday(31)
end
end
def fecha_seleccionada
fecha = @cal.get_date
@st1.label = sprintf(”%02d”,fecha.day)
@st2.label = sprintf(”%02d”,fecha.month)
@st3.label = sprintf(”%02d”,fecha.year)
end
end
Ejemplo.new.main_loop