Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System inspector GUI widget #1404

Merged
merged 8 commits into from
Jun 1, 2022
Merged

Conversation

chapulina
Copy link
Contributor

@chapulina chapulina commented Mar 22, 2022

🎉 New feature

Closes

Builds on top of

Summary

Add a way for the user to inspect which systems are loaded, and what their configuration is.

  • Add the SystemInfo component to hold information about systems
  • The component is added to an entity by the SystemManager the moment the system is loaded. This makes sure that systems loaded at runtime from various code paths always get added.
  • The component holds PluginV messages, so a single component can hold information about multiple systems
  • Systems attached to any entity should be handled (world, model, visual, etc)

Test it

ign gazebo diff_drive.sdf

SystemInspector

Checklist

  • Signed all commits for DCO
  • Added tests
  • Added example and/or tutorial
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

@chapulina chapulina added GUI Gazebo's graphical interface (not pure Ignition GUI) OOBE 📦✨ Out-of-box experience labels Mar 22, 2022
@github-actions github-actions bot added the 🏯 fortress Ignition Fortress label Mar 22, 2022
Signed-off-by: Louise Poubel <[email protected]>
@chapulina chapulina force-pushed the chapulina/6/system_inspector branch from 807d19b to 8dcfb4f Compare March 28, 2022 17:10
@chapulina chapulina changed the base branch from ign-gazebo6 to chapulina/5_to_6 March 28, 2022 17:10
@chapulina chapulina marked this pull request as ready for review March 28, 2022 17:11
@chapulina chapulina requested a review from ahcorde March 28, 2022 17:11
@nkoenig nkoenig self-requested a review March 28, 2022 18:04
Signed-off-by: Louise Poubel <[email protected]>
Base automatically changed from chapulina/5_to_6 to ign-gazebo6 March 30, 2022 18:00
Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have two comments:

Can we align the text ?

Selection_063

There is a big white space here, can we fit the box to the text?

Selection_062

src/Conversions.cc Outdated Show resolved Hide resolved
@chapulina
Copy link
Contributor Author

Can we align the text ?

They're aligned to the right, but I can see how that may not give the best result. Let me think a bit.

There is a big white space here, can we fit the box to the text?

Argh I actually tried for a while and failed 😕 I'll give it another try. It looks to me that the background size is ignoring the font size.

@codecov
Copy link

codecov bot commented Apr 7, 2022

Codecov Report

Merging #1404 (9bdf932) into ign-gazebo6 (641946f) will decrease coverage by 0.04%.
The diff coverage is 65.51%.

❗ Current head 9bdf932 differs from pull request most recent head ef42037. Consider uploading reports for the commit ef42037 to get more accurate results

@@               Coverage Diff               @@
##           ign-gazebo6    #1404      +/-   ##
===============================================
- Coverage        63.49%   63.45%   -0.05%     
===============================================
  Files              307      309       +2     
  Lines            24776    24828      +52     
===============================================
+ Hits             15731    15754      +23     
- Misses            9045     9074      +29     
Impacted Files Coverage Δ
src/gui/plugins/component_inspector/SystemInfo.cc 23.07% <23.07%> (ø)
include/ignition/gazebo/components/SystemInfo.hh 100.00% <100.00%> (ø)
src/Conversions.cc 83.45% <100.00%> (+0.13%) ⬆️
src/SystemManager.cc 100.00% <100.00%> (ø)
.../plugins/component_inspector/ComponentInspector.cc 5.17% <100.00%> (+0.15%) ⬆️
src/gui/plugins/spawn/Spawn.cc 9.81% <0.00%> (-0.47%) ⬇️
src/systems/pose_publisher/PosePublisher.cc 94.71% <0.00%> (+1.28%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b6186a8...ef42037. Read the comment docs.

@nkoenig
Copy link
Contributor

nkoenig commented Apr 7, 2022

How about naming the menu item System Plugin Info? And, is it possible to add a tooltip to the menu item? It could say something like Information about plugins attached to this entity

@chapulina chapulina mentioned this pull request Apr 8, 2022
8 tasks
Signed-off-by: Louise Poubel <[email protected]>
Signed-off-by: Louise Poubel <[email protected]>
@chapulina
Copy link
Contributor Author

There is a big white space here, can we fit the box to the text?

Fixed in bf93928

SI_1

How about naming the menu item System Plugin Info?

Done in bf93928

And, is it possible to add a tooltip to the menu item? It could say something like Information about plugins attached to this entity

Done in ef42037

tooltip

@chapulina chapulina requested review from ahcorde and nkoenig May 2, 2022 22:44
Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linters are failing

  /github/workspace/include/ignition/gazebo/components/SystemPluginInfo.hh:36:  Lines should be <= 80 characters long  [whitespace/line_length] [2]
  /github/workspace/src/gui/plugins/component_inspector/ComponentInspector.cc:483:  Lines should be <= 80 characters long  [whitespace/line_length] [2]

Otherwise LGTM

Signed-off-by: Louise Poubel <[email protected]>
@chapulina
Copy link
Contributor Author

Linters are failing

Fixed in cdf4116

@codecov
Copy link

codecov bot commented Jun 1, 2022

Codecov Report

Merging #1404 (cdf4116) into ign-gazebo6 (62272db) will decrease coverage by 0.16%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           ign-gazebo6    #1404      +/-   ##
===============================================
- Coverage        33.58%   33.42%   -0.17%     
===============================================
  Files               44       45       +1     
  Lines             2260     2271      +11     
===============================================
  Hits               759      759              
- Misses            1501     1512      +11     
Impacted Files Coverage Δ
...ins/component_inspector/qrc_ComponentInspector.cpp 100.00% <0.00%> (ø)
...ugins/component_inspector/moc_SystemPluginInfo.cpp 0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 26f67fa...cdf4116. Read the comment docs.

@chapulina chapulina merged commit 67c41c9 into ign-gazebo6 Jun 1, 2022
@chapulina chapulina deleted the chapulina/6/system_inspector branch June 1, 2022 19:51
@chapulina chapulina mentioned this pull request Jun 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏯 fortress Ignition Fortress GUI Gazebo's graphical interface (not pure Ignition GUI) OOBE 📦✨ Out-of-box experience
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants