Provide a way to control how to handle node compatibility issues
when loading a Graph with the `strictCompatibility` parameter.
Introduce a new error type, GraphCompatibilityError, to be raised
when loading a Graph with compatibility issues with strictCompatibility enabled.
Default camera up should be accurate and consistent with camera view center.
Default camera up vector is not refresh or checked when default camera view center is set.
With the Sequence Player always enabled by default, the `fit()` function
must be triggered at the right moment, and only once the layout has
been correctly initialized; otherwise, zoom factors may become negative
and the images will not be placed correctly in the viewer.
Changes in the orientation tag must be handled independently from the
state of the zoom factor.
The callbacks of `childrenRepeater` (which was used to "fill"
`ListAttributes` with children) were not correctly set. Their prototypes
were missing the `index` argument, meaning that instead of being
provided with the child attribute that was added or deleted,
they were provided with its index in the model.
The added children attributes were also instatiated as empty attribute
pins that were still visible, thus increasing indirectly the spacing of
the initial pin.
The curve scale of the mouse area for an edge used to be defined when
initializing the `EdgeMouseArea` for that edge. Setting it triggers a
chain of event that allow the mouse area to be active, thus correctly
detecting when it is being hovered or clicked on.
With Qt6, these events unfolded before the `EdgeMouseArea` had finished
initializing, which then caused it to not be active until the edge's
shape was modified (and the chain of events triggered again). It is now
set once the component has been created, so all the events can happen
in an environment where they are taken into account.
QMouseEvent::x() and QMouseEvent::y() have been marked as deprecated and
should be replaced with QMouseEvent::position().x() and
QMouseEvent::position().y().
When converting the `StatusData` to a dictionary, only data attributes
should be stored in said dictionary. With Qt6, the `objectNameChanged`
signal, of type `SignalInstance`, is added to the dictionary. It needs
to be removed manually as it is not JSON-serializable. Otherwise,
the nodes cannot be computed anymore.
The fit must be automatically triggered when the size of the image
changes. In case the image size remains the same but the orientation tag
is updated, this means that the displayed size of the image has changed
(with the orientation taken into account, the width and height might end
up being inverted), so the fit should also be triggered.