Attach model plugins to corresponding models in the world tab

#2323 Merged at 084f751
  1. almin causevic
  • First iteration of gsoc plugins project. Attached plugins of models displayed in world tab.

  • Created subtree with filename, innerxml, updated comments, added plugin to test and ModelToSDF() function.

  • reverted msgs to standard PluginToSDF() function.

  • updated changelog.

  • changed innerxml test.

  • first draft with plugin type error message.

  • fill pluginMsg implemented. Response not receiving data.

  • Add Property Box for Plugins. Change info to model_plugin

Comments (21)

  1. almin causevic author

    I corrected the Flags warning and the comment feedback. However, I can not compile the std::mutex receiveMutex. Do you get the same error or is this some compile error on my system?

  2. almin causevic author

    For the subheaders "PLUGINS" and "JOINTS" the item flags say itemisenabled. Should I change that to noitemflags?
    Also I see two conflicts, in and the test? Should I resolve that?

    Do we need the plugin code inside of void ModelListWidget::ModelPropertyChanged(QtProperty *_item)?

    1. Louise Poubel

      Yup, please merge from default to resolve conflicts.

      Disabling the headers sounds like a good idea.

      Oh yes, I was going to mention that about ModelPropertyChanged. It can't be called now because plugin info is not editable, and I don't think it will be in the near future, so we can remove this.

    1. Louise Poubel

      Queued a new trusty gpu build, but checking it locally I realized there is one failing test, could you fix it please?

      FAIL!  : ModelListWidget_TEST::LinkProperties() Compared values are not the same
         Actual (sphereLinkItem->text(0)): box_link
         Expected (tr(sphereLinkName.c_str())): sphere_link
         Loc: [/home/louisep/code/gsoc_gazebo/gazebo/gui/]
  3. Louise Poubel

    Note to reviewer: This pull request introduces a transport request for model_plugin_info, which takes a model plugin's URI in string format. The plugin URI is being assembled by its parent model's URI. It's the first time a request is using URIs and the first time plugin URIs are being used at all.