Method: OpenC3::WidgetModel.handle_config

Defined in:
lib/openc3/models/widget_model.rb

.handle_config(parser, keyword, parameters, plugin: nil, needs_dependencies: false, scope:) ⇒ Object

Called by the PluginModel to allow this class to validate it’s top-level keyword: “WIDGET”



73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/openc3/models/widget_model.rb', line 73

def self.handle_config(parser, keyword, parameters, plugin: nil, needs_dependencies: false, scope:)
  case keyword
  when 'WIDGET'
    parser.verify_num_parameters(1, 3, "WIDGET <Name> <Label> <Select Items (true/false)>")
    # Label is optional and if it doesn't exist nil is fine
    # Select Items is optional and if it doesn't exist nil is fine
    items = ConfigParser.handle_true_false_nil(parameters[2])
    return self.new(name: parameters[0], plugin: plugin, label: parameters[1], items: items, needs_dependencies: needs_dependencies, scope: scope)
  else
    raise ConfigParser::Error.new(parser, "Unknown keyword and parameters for Widget: #{keyword} #{parameters.join(" ")}")
  end
  return nil
end