1.) LayoutView#on_current_layer_changed(iter)
"iter" is the iterator pointing to the new current layer
Is called after the current layer (the highlighted layer)
changed.
2.) LayoutView#on_selected_layers_changed
Is called after the selected layer set changed.
Problem was that changing the active cellview index by clicking
on a specific item in the properties dialog cause a "clear_selection".
That interfered with the code of the properties dialog that
expects a static selection.
Fixed by disabling the events that lead to "clear_selection".
Side effect is that under these circumstances the active_cellview_changed
event is not triggered which also prevents side effects due to
scripts hooking into that event.
- There is a new configuration page entry called
"Min spacing" for the grid. The default value is 4.
The value specifies the grid min spacing in
units of UI font height.
- A bugfix is included: the ruler now is drawn after
the grid, hence is not hidden by it (specifically
in checkerboard pattern mode)
- To allow bigger grid spacing, the ruler now
is allowed to grow bigger than before.
With the subresolution mode, the "Default" fonts get very small.
Hence, a separate font resolution is provided which
applies to "Default" font rendering only.
Problem was twofold: first, events are triggered during
construction of the plugin which met an uninitialized
pointer. Second, the clearing of existing plugins failed
because of iterating a vector while destroying it's members
erased member of it.
The application got unstable on exit under various conditions
(e.g. LayoutView created in script). Reason was the ownership
management of LayoutView which interfered with Qt widget
lifetime management.
The solution now is based on a clean widget/view hierarchy
and a consistent plugin parent/child relationship.
In addition, a new class is enabled which allows creating
a true QWidget (rather QFrame) for a LayoutView again.
As a way to trigger actions inside the layout view
and plugins.
Right now, the layout view's menu is only a rudimentary one
as it lacks the top-level menus usually provided by the main window.