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