class Glimmer::SWT::Custom::Shape::Image
Public Instance Methods
dom()
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 83 def dom shape_id = id shape_class = name href = @args[0].is_a?(Glimmer::SWT::ImageProxy) ? @args[0].file_path : @args[0] width = @args[0].is_a?(Glimmer::SWT::ImageProxy) ? @args[0].width : nil height = @args[0].is_a?(Glimmer::SWT::ImageProxy) ? @args[0].height : nil @dom ||= xml { image(id: shape_id, class: shape_class, href: href, x: @args[1], y: @args[2], width: width, height: height) }.to_s end
element()
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 79 def element 'image' end
image_part_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 47 def image_part_parameter_names [:image, :src_x, :src_y, :src_width, :src_height, :dest_x, :dest_y, :dest_width, :dest_height] end
image_whole_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 51 def image_whole_parameter_names [:image, :x, :y] end
parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 34 def parameter_names if image_whole_parameter_names.size == @args.size @parameter_names = image_whole_parameter_names elsif image_part_parameter_names.size == @args.size @parameter_names = image_part_parameter_names end @parameter_names || image_whole_parameter_names end
possible_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 43 def possible_parameter_names (image_whole_parameter_names + image_part_parameter_names).uniq end
reattach(old_element)
click to toggle source
# File lib/glimmer/swt/custom/shape/image.rb, line 71 def reattach(old_element) old_element.attr('href', Element[@dom].attr('href')) old_element.attr('x', Element[@dom].attr('x')) old_element.attr('y', Element[@dom].attr('y')) old_element.attr('width', Element[@dom].attr('width')) old_element.attr('height', Element[@dom].attr('height')) end
set_parameter_attribute(attribute_name, *args)
click to toggle source
Calls superclass method
Glimmer::SWT::Custom::Shape#set_parameter_attribute
# File lib/glimmer/swt/custom/shape/image.rb, line 55 def set_parameter_attribute(attribute_name, *args) if @parameter_names.to_a.map(&:to_s).include?(attribute_name.to_s) super(attribute_name, *args) build_dom reattach(dom_element) return end ####TODO refactor and improve this method through meta-programming (and share across other shapes) if image_whole_parameter_names.map(&:to_s).include?(attribute_name.to_s) @parameter_names = image_whole_parameter_names elsif image_part_parameter_names.map(&:to_s).include?(attribute_name.to_s) @parameter_names = image_part_parameter_names end super(attribute_name, *args) end