def get_property(attr_map, value, *types)
prop_type = attr_map['type']
unless (types.include? prop_type) then
raise PropertyError, "not allowd property type: #{prop_type.inspect}: at #{@widget_id.inspect}"
end
prop_value = value.strip
case (prop_type)
when 'string'
return prop_value
when 'bool'
return get_bool_property(prop_value)
when 'number'
return get_number_property(prop_value)
when 'method'
return get_method_property(prop_value)
when 'accessor'
return get_accessor_property(prop_value)
when 'eval'
return get_eval_property(prop_value)
else
raise PropertyError, "unknown property type: #{prop_type.inspect}: at #{@widget_id.inspect}"
end
end