class Syskit::GUI::ModelViews::DataService
Public Class Methods
new(page)
click to toggle source
Calls superclass method
Syskit::GUI::ModelViews::Component.new
# File lib/syskit/gui/model_views/data_service.rb, line 4 def initialize(page) super(page) buttons = Array.new buttons.concat(self.class.common_graph_buttons('interface')) interface_options[:buttons] = buttons end
Public Instance Methods
list_services(task)
click to toggle source
Calls superclass method
Syskit::GUI::ComponentNetworkBaseView#list_services
# File lib/syskit/gui/model_views/data_service.rb, line 11 def list_services(task) services = super services.first.last.shift if services.first.last.empty? Array.new else services end end
render(model, options = Hash.new)
click to toggle source
Calls superclass method
Syskit::GUI::ModelViews::Component#render
# File lib/syskit/gui/model_views/data_service.rb, line 21 def render(model, options = Hash.new) super providers = Array.new Syskit::TaskContext.each_submodel do |component_m| next if component_m.respond_to?(:proxied_data_services) if component_m.fullfills?(model) providers << [component_m.name, component_m] end end Syskit::Composition.each_submodel do |composition_m| next if composition_m.respond_to?(:proxied_data_services) next if composition_m.is_specialization? if composition_m.fullfills?(model) providers << [composition_m.name, composition_m] else composition_m.specializations.each_specialization do |spec| if spec.composition_model.fullfills?(model) providers << [spec.to_s, composition_m.root_model] end end end end providers = providers.sort_by(&:first). map do |name, model| page.link_to(model, name) end page.render_list("Provided By", providers) end
render_data_services(task, with_names = false)
click to toggle source
Calls superclass method
Syskit::GUI::ComponentNetworkBaseView#render_data_services
# File lib/syskit/gui/model_views/data_service.rb, line 52 def render_data_services(task, with_names = false) super end