class MyRendererTimeStamp

this file is part of manqod manqod is distributed under the CDDL licence the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)

Attributes

pc[RW]

Public Class Methods

new(pc) click to toggle source
Calls superclass method
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 7
def initialize(pc)
              @pc=pc
              super()
              pack_start(@calendar=Gtk::Calendar.new)
              pack_start(Gtk::HBox.new.
             pack_start(@hw=Gtk::SpinButton.new(0,23,1).set_has_frame(false).set_numeric(true).set_increments(1,10).set_digits(0)).
             pack_start(@mw=Gtk::SpinButton.new(0,59,1).set_has_frame(false).set_numeric(true).set_increments(1,10).set_digits(0)).
             pack_start(@sw=Gtk::SpinButton.new(0,59,1).set_has_frame(false).set_numeric(true).set_increments(1,10).set_digits(0)),
              true,false)
              @sw.signal_connect('value_changed'){|me| changed}
              @mw.signal_connect('value_changed'){|me| changed}
              @hw.signal_connect('value_changed'){|me| changed}
              @calendar.signal_connect("next-year"){|me| changed}
              @calendar.signal_connect("prev-year"){|me| changed}
              @calendar.signal_connect("month-changed"){|me| changed}
              @calendar.signal_connect("day-selected"){|me| changed}

              @calendar.set_show_details(true)
              @calendar.set_show_week_numbers(true)
              @calendar.show_day_names=true
      end

Public Instance Methods

changed() click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 49
def changed
                edebug("#{self} changed to #{wg_to_time}","form","debug")
                pc.changed
                pc.notify_observers(self)
                edebug("#{self} emiting 'changed' to observers","form","debug")
                run_events(item['id'],'form_item-Action')
end
item() click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 30
def item
      pc.item
end
parentM() click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 78
def parentM
        pc.parentM
end
parentselected() click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 74
def parentselected
        pc.parentselected
end
set_sensitive(sens) click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 34
def set_sensitive(sens)
      @calendar.set_sensitive(sens)
      @hw.set_sensitive(sens)
      @mw.set_sensitive(sens)
      @sw.set_sensitive(sens)
end
text() click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 56
def text
        wg_to_time.to_s
end
time_to_wg(d) click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 66
def time_to_wg(d)
        t=Time.at(d.to_i)
        @hw.set_value(t.hour)
        @mw.set_value(t.min)
        @sw.set_value(t.sec)
        @calendar.set_year(t.year).set_month(t.month-1).set_day(t.day).mark_day(t.day)
end
update(new_value=item['default']) click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 41
def update(new_value=item['default'])
        new_value=Time.new.to_i if new_value == ""
        item['default']=new_value
        run_events(item['id'],'form_item-BeforeUpdate')
        pc.run_query
        time_to_wg(item['default']) if item['default']
        run_events(item['id'],'form_item-AfterUpdate')
end
wg_to_time() click to toggle source
# File lib/FormHolder/Form/InputHolder/TimeStamp.rb, line 59
def wg_to_time
        begin
                Time.mktime(@calendar.date[0],@calendar.date[1],@calendar.date[2],@hw.value,@mw.value,@sw.value).to_i
        rescue => err
                eerror(err)
        end
end