class Glimmer::SWT::Custom::Shape::Rectangle
Public Instance Methods
dom()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 89 def dom shape_id = id shape_class = name @dom ||= xml { rect(id: shape_id, class: shape_class, x: @args[0], y: @args[1], width: @args[2], height: @args[3], rx: @args[4].to_f/2.0, ry: @args[5].to_f/2.0) }.to_s end
element()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 85 def element 'rect' end
parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 34 def parameter_names if @parameter_names.nil? if rectangle_parameter_names.size == @args.size @parameter_names = rectangle_parameter_names elsif rectangle_round_parameter_names.size == @args.size @parameter_names = rectangle_round_parameter_names elsif rectangle_gradient_parameter_names.size == @args.size @parameter_names = rectangle_gradient_parameter_names elsif rectangle_rectangle_parameter_names.size == @args.size @parameter_names = rectangle_rectangle_parameter_names end end @parameter_names || rectangle_parameter_names end
possible_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 49 def possible_parameter_names # TODO refactor and improve this method through meta-programming (and share across other shapes) (rectangle_round_parameter_names + rectangle_parameter_names + rectangle_gradient_parameter_names + rectangle_rectangle_parameter_names).uniq end
rectangle_gradient_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 58 def rectangle_gradient_parameter_names [:x, :y, :width, :height, :vertical] end
rectangle_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 62 def rectangle_parameter_names [:x, :y, :width, :height] end
rectangle_rectangle_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 66 def rectangle_rectangle_parameter_names # this receives a Rectangle object [:rectangle] end
rectangle_round_parameter_names()
click to toggle source
# File lib/glimmer/swt/custom/shape/rectangle.rb, line 54 def rectangle_round_parameter_names [:x, :y, :width, :height, :arc_width, :arc_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/rectangle.rb, line 71 def set_parameter_attribute(attribute_name, *args) return super(attribute_name, *args) if @parameter_names.to_a.map(&:to_s).include?(attribute_name.to_s) if rectangle_parameter_names.map(&:to_s).include?(attribute_name.to_s) @parameter_names = rectangle_parameter_names elsif rectangle_round_parameter_names.map(&:to_s).include?(attribute_name.to_s) @parameter_names = rectangle_round_parameter_names elsif rectangle_gradient_parameter_names.map(&:to_s).include?(attribute_name.to_s) @parameter_names = rectangle_gradient_parameter_names elsif rectangle_rectangle_parameter_names.map(&:to_s).include?(attribute_name.to_s) @parameter_names = rectangle_rectangle_parameter_names end super(attribute_name, *args) end