class Glimmer::LibUI::ControlProxy::DateTimePickerProxy

Proxy for LibUI date time picker objects

Follows the Proxy Design Pattern

Public Instance Methods

data_bind_write(property, model_binding) click to toggle source
# File lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb, line 68
def data_bind_write(property, model_binding)
  handle_listener('on_changed') { model_binding.call(time) } if property == 'time'
end
destroy() click to toggle source
Calls superclass method Glimmer::LibUI::ControlProxy#destroy
# File lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb, line 63
def destroy
  Fiddle.free @time unless @time.nil?
  super
end
libui_api_keyword() click to toggle source
# File lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb, line 31
def libui_api_keyword
  'date_time_picker'
end
set_time(value = nil)
Alias for: time
time(value = nil) click to toggle source
# File lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb, line 35
def time(value = nil)
  @time ||= ::LibUI::FFI::TM.malloc
  ::LibUI.date_time_picker_time(@libui, @time)
  if value.nil?
    {
      sec: @time.tm_sec,
      min: @time.tm_min,
      hour: @time.tm_hour,
      mday: @time.tm_mday,
      mon: @time.tm_mon + 1,
      year: @time.tm_year + 1900,
      wday: @time.tm_wday + 1,
      yday: @time.tm_yday + 1,
      dst: @time.tm_isdst == 1
    }
  else
    @time.tm_sec = value[:sec] unless value[:sec].nil?
    @time.tm_min = value[:min] unless value[:min].nil?
    @time.tm_hour = value[:hour] unless value[:hour].nil?
    @time.tm_mday = value[:mday] unless value[:mday].nil?
    @time.tm_mon = value[:mon] - 1 unless value[:mon].nil?
    @time.tm_year = value[:year] - 1900 unless value[:year].nil?
    ::LibUI.date_time_picker_set_time(@libui, @time)
  end
end
Also aliased as: set_time, time=
time=(value = nil)
Alias for: time