Initial QWidgets style work
This MR is for creating a new branch for development version of the QWidgets output.
Important files:
UnionStyleis the base class that drives the show- It also does the basic drawing of text and icons
- Every self-contained element has their own class inherited from
AbstractElementclass- This allows precise manipulation of the style when it comes to specific elements
- It is likely we do not need all of them but this can be only figured out after more testing and fixing
- If it has a
QStyleOption, it likely has anElementclass! - AbstractElement also holds a basic layouting system which needs some rework in another MR.
StyleUtilsholds some helper functions for things like centering rectangle within another.BackgroundDrawingdoes all the visual drawing: Background colors, borders, etc.
Elements gather information what they should draw by fetching their hierarchy and comparing it to the hierarchy queried from the CSS files. It tries it's best to match it and follow the rules set there.
Some elements do not exist in QtQuick, for example many of the PixelMetrics. Those values have their
own widgets.css that can be overridden by the user.
Modified also some of the CSS files to make things behave nicer with QStyle, or added missing elements.
This work has been a lot of trial and error due to lacking documentation. There will be many visual bugs. But at least the style now gets its information from the CSS files. If it can't find that information, it tries to fallback to QCommonStyle.
Part of #37 (closed)