class Skatolo
Public Class Methods
new(applet, events_object = nil)
click to toggle source
Calls superclass method
# File lib/skatolo.rb, line 22 def initialize (applet, events_object = nil) @event_handler = EventHandler.new self @events_object = events_object if events_object != nil @events_object = applet if events_object == nil super(applet, @event_handler) # @applet = applet end
Public Instance Methods
create_getter_for(name)
click to toggle source
# File lib/skatolo.rb, line 81 def create_getter_for name controller = get(name) return if is_event_class controller.class value = get_controller_value(controller) @events_object.create_method(name + "_value") do controller = @skatolo.get(name) @skatolo.get_controller_value controller end end
create_setter_for(name)
click to toggle source
# File lib/skatolo.rb, line 94 def create_setter_for name controller = get(name) return if is_event_class controller.class value = get_controller_value controller # puts "Creating a setter for " + name @events_object.create_method(name + "_value=") do |value| controller = @skatolo.get(name) @skatolo.set_controller_value controller, value end end
get_controller_value(controller)
click to toggle source
# File lib/skatolo.rb, line 110 def get_controller_value controller return 1 if is_event_class controller.class return controller.getValue if is_value_class controller.class return controller.getStringValue if is_string_value_class controller.class end
is_event_class(object_class)
click to toggle source
# File lib/skatolo.rb, line 123 def is_event_class object_class object_class == Java::TechLityReaSkatoloGuiControllers::Button or object_class == Java::TechLityReaSkatoloGuiControllers::HoverButton or object_class == Java::TechLityReaSkatoloGuiControllers::Bang end
is_string_value_class(object_class)
click to toggle source
# File lib/skatolo.rb, line 135 def is_string_value_class object_class object_class == Java::TechLityReaSkatoloGuiControllers::Textfield end
is_value_class(object_class)
click to toggle source
# File lib/skatolo.rb, line 129 def is_value_class object_class object_class == Java::TechLityReaSkatoloGuiControllers::Slider or object_class == Java::TechLityReaSkatoloGuiControllers::HoverToggle or object_class == Java::TechLityReaSkatoloGuiControllers::Numberbox end
send_event_to_sketch(controlEvent)
click to toggle source
Event function…
# File lib/skatolo.rb, line 45 def send_event_to_sketch(controlEvent) controller = get(controlEvent.getName) name = controlEvent.getName value = controlEvent.getValue string_value = controlEvent.getStringValue # puts controller.object_id.to_s ## There is a method with this name... if @events_object.respond_to? name ## Buttons usually, not arguments. if is_event_class controller.class @events_object.send(name) return end ## Sliders, check arity if is_value_class controller.class ## try to send the value @events_object.send(name, value) return end ## Text ## Sliders, check arity if is_string_value_class controller.class ## try to send the value @events_object.send(name, string_value) return end end end
set_controller_value(controller, value)
click to toggle source
# File lib/skatolo.rb, line 116 def set_controller_value controller, value return if is_event_class controller.class return controller.setValue value if is_value_class controller.class return controller.setStringValue value if is_string_value_class controller.class end
update()
click to toggle source
# File lib/skatolo.rb, line 31 def update getAll.to_a.each do |controller| name = controller.name ## There is a method with this name... if not (@events_object.respond_to? name + "_value") # puts "please declare a method for " + name create_getter_for name create_setter_for name end end end