From 52db56c2b8c80bf09ea295bf7962146c0daa0ad6 Mon Sep 17 00:00:00 2001 From: Alexander Dettmann Date: Fri, 2 Oct 2015 14:55:40 +0200 Subject: [PATCH 1/3] added rescue when widget cannot be added --- .../widgets/task_inspector/task_inspector.rb | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/vizkit/widgets/task_inspector/task_inspector.rb b/lib/vizkit/widgets/task_inspector/task_inspector.rb index 9477191..23f3ff8 100644 --- a/lib/vizkit/widgets/task_inspector/task_inspector.rb +++ b/lib/vizkit/widgets/task_inspector/task_inspector.rb @@ -18,15 +18,18 @@ def self.create_widget(parent = nil) #populate widget menu Vizkit.default_loader.plugin_specs.keys.sort.each do |name| - # do not add qt base widgets - next if name[0] == "Q" && Qt.const_defined?(name[1..-1]) - action = form.menuWidgets.addAction(name) - action.connect SIGNAL("triggered()") do - w = Vizkit.default_loader.create_plugin name - w.show if w.respond_to?(:show) || w.kind_of?(Qt::Widget) + begin + # do not add qt base widgets + next if name[0] == "Q" && Qt.const_defined?(name[1..-1]) + action = form.menuWidgets.addAction(name) + action.connect SIGNAL("triggered()") do + w = Vizkit.default_loader.create_plugin name + w.show if w.respond_to?(:show) || w.kind_of?(Qt::Widget) + end + rescue + Vizkit.warn "#{name} widget could not been added" end end - form end From 0a89f0a03ad9266155483ad6489b718660e2f961 Mon Sep 17 00:00:00 2001 From: Alexander Dettmann Date: Fri, 2 Oct 2015 14:56:18 +0200 Subject: [PATCH 2/3] fixed bug when task name includes an ip address --- lib/vizkit/cplusplus_extensions/vizkit_widget.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vizkit/cplusplus_extensions/vizkit_widget.rb b/lib/vizkit/cplusplus_extensions/vizkit_widget.rb index 5a68261..7cabf1a 100644 --- a/lib/vizkit/cplusplus_extensions/vizkit_widget.rb +++ b/lib/vizkit/cplusplus_extensions/vizkit_widget.rb @@ -324,7 +324,7 @@ def push_transformer_configuration(data) def listen_to_transformation_producer(trsf) return if @connected_transformation_producers.has_key?(trsf.producer) - task, *port = trsf.producer.split('.') + task, bla, *port = trsf.producer.rpartition('.') port = port.join(".") Vizkit.debug "connecting producer task #{task}, port #{port} for #{trsf.from} => #{trsf.to}" producer_name = task.gsub(/.*\//, '') From 26beac761378ed7fd54ffba41daa8668fe2b5440 Mon Sep 17 00:00:00 2001 From: Alexander Dettmann Date: Thu, 3 Mar 2016 12:12:10 +0100 Subject: [PATCH 3/3] clean up --- lib/vizkit/cplusplus_extensions/vizkit_widget.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/vizkit/cplusplus_extensions/vizkit_widget.rb b/lib/vizkit/cplusplus_extensions/vizkit_widget.rb index 7cabf1a..4a0e136 100644 --- a/lib/vizkit/cplusplus_extensions/vizkit_widget.rb +++ b/lib/vizkit/cplusplus_extensions/vizkit_widget.rb @@ -324,8 +324,7 @@ def push_transformer_configuration(data) def listen_to_transformation_producer(trsf) return if @connected_transformation_producers.has_key?(trsf.producer) - task, bla, *port = trsf.producer.rpartition('.') - port = port.join(".") + task, _, port = trsf.producer.rpartition('.') Vizkit.debug "connecting producer task #{task}, port #{port} for #{trsf.from} => #{trsf.to}" producer_name = task.gsub(/.*\//, '') Vizkit.connect_port_to producer_name, port do |data, port_name|