gazebosim/gz-gui
Tutorial with guidelines and tips for creating new widgets
Open
#339 opened on Dec 20, 2021
OOBE 📦✨documentationenhancementhelp wanted
Repository metrics
- Stars
- (103 stars)
- PR merge metrics
- (PR metrics pending)
Description
For the GUI to have a uniform look and feel, it's important that developers use the same styling when creating new widgets. Ignition uses material as a design system, so we can refer to that documentation when looking for guidelines for the visual look of the application. The part that needs documenting is how to apply that when developing Ignition.
Desired behavior
When a new developer doesn't know what QtQuick controls to use, or how to position widgets on a plugin, they can look into that tutorial as a reference.
Alternatives considered
We could have more examples.
Implementation suggestion
Some of the things that I think should be documented:
- Sharing properties between QML and C++
- Adding images to a plugin
- Using material colors instead of custom hardcoded colors
- Creating responsive layouts that adapt to the window size
- Leveraging unicode symbols instead of creating new icons
- Using appropriate widgets according to data type (i.e. spins for numbers, text fields for strings...)
- Always displaying units
- Using custom Ignition widgets when needed (i.e.
IgnSpinBoxinstead ofSpinBox)