Class: MetaBuilder::ParameterTypes::DateTimeParameter

Inherits:
MetaBuilder::ParameterType show all
Defined in:
lib/MetaBuilder/Parameters/dates.rb,
lib/MetaBuilder/Qt4/Parameters/dates.rb

Overview

A combination date/time

Instance Method Summary collapse

Methods inherited from MetaBuilder::ParameterType

#default_value, from_string, get_param_type, get_type, #initialize, #lookup_const, #option_parser_long_option, #option_parser_option, #option_parser_raw, #qt4_create_input_widget, #qt4_get, #string_to_type, #stt_run_hook, #type_name, type_name, #type_to_string, #type_to_string_internal

Constructor Details

This class inherits a constructor from MetaBuilder::ParameterType

Instance Method Details

#string_to_type_internal(str) ⇒ Object



31
32
33
# File 'lib/MetaBuilder/Parameters/dates.rb', line 31

def string_to_type_internal(str)
  return Time.parse(str)
end

#type_to_variant(val) ⇒ Object

Converts a Time to a Variant.



31
32
33
34
35
36
37
38
39
# File 'lib/MetaBuilder/Qt4/Parameters/dates.rb', line 31

def type_to_variant(val)
  if val.is_a? Qt::DateTime
    return Qt::Variant.new(val)
  else
    epoch = Qt::Date.new(1970, 1, 1)
    date = Qt::DateTime.new(epoch)
    return Qt::Variant.new(date.add_secs(val.to_i))
  end
end

#variant_to_type(variant) ⇒ Object

Converts back to Time



42
43
44
45
46
# File 'lib/MetaBuilder/Qt4/Parameters/dates.rb', line 42

def variant_to_type(variant)
  epoch = Qt::DateTime.new(Qt::Date.new(1970, 1, 1))
  nb = epoch.secs_to(variant.value)
  return Time.at(nb)
end