[Marble-devel] "Info Box", "Panel", AbstractFloatItems, FloatItemsLayer, RenderPlugin::PanelRenderType, ... ???
Friedrich W. H. Kossebau
kossebau at kde.org
Sat Jul 23 16:43:00 UTC 2016
I am confused by the concepts and names currently, and would like to raise
awareness for those working in that area, to consider improving it:
In the UI there are the terms
* "Panel": UI boxes outside the map widget
* "Info Box": UI boxes inside the map widget
Those "Panel"s are implemented as QDockWidgets.
Those "Info Box"es are implemented as "AbstractFloatItems", so subclasses of
"RenderPlugin", with a renderType() of "PanelRenderType".
So what is a "Panel" in the UI, it is not related to the "Panel" type in the
More, the menu for toggling the "Info Box"es, is filled in different ways:
* marble-qt iterates over marbleWidget()->renderPlugins() and selecting
plugins of type "PanelRenderType", taking their actions
* marble-kde (by older code) iterates over marbleWidget()->floatItems(),
taking their actions
Both currently result in the same set of actions, given AbstractFloatItems are
the only plugins which set the type to PanelRenderType.
But it is rather confusing to have these different ways being used to access
those items/plugins, as it stays unclear if there could be non-
AbstractFloatItems of type PanelRenderType, as nothing prevents e.g. 3rd-party
to do that.
Who has a master plan here? Bernhard, given your introduction of
FloatItemsLayer, could you pick this up and consider this feedback in whatever
you are working on there?
More information about the Marble-devel