[Marble-devel] Questions about internal Marble structure

Torsten Rahn tackat at t-online.de
Wed May 30 12:37:29 UTC 2012

Hi Anton,

The code from Andrew Manson is really hopelessly outdated these days. 
It was just an early (awesome) prototype for the usage of GeoGraphicsItems and 
for parsing OSM. Since it was just meant to be a prototype all the unfinished 
features became part of the plugin (that includes OSM Andrew's parsing as well 
as the specialized GeoGraphicsItems he created).

These days if you want to add OSM parsing to your application you should use 
the one that has become part of the library (which evolved from Andrew's 
efforts and which was further developed by Konstantin).

Also if you create GeoGraphicsItems you should use them in the way described 
inside the GeoDataPlacemark tutorial referenced earlier 

That's also why its compilation of the osmannotate plugin is deactivated by 

When I pointed to these sources it was merely meant to show that it's possible 
to do this kind of stuff. It can also serve as a source of inspiration how to 
do certain stuff if you keep in mind that much of the implementation is 
outdated these days.  

It would be cool if we could add an extra Tutorial chapter that shows how 
GeoDataPlacemark or GeoDataPolygons can be added via mouseevents.

We should maybe also add a big DEPRECATED file / warning to the whole 

Again this doesn't mean to make Andrew's work look bad - rather the opposite: 
Andrew's work back in 2009 contributed extensively to build the cornerstones 
of today's Marble framework. Thanks Andrew! :-)

Best Regards,

On Mittwoch, 30. Mai 2012 14:02:56 Anton Chernov wrote:
> Hello everybody,
> Today I make some investigations about internal Marble structure.
> 1. There are two different realization of Osm Tag Handlers. The first
> is in OsmAnnotate plugin and was developed by Andrew Manson in 2009,
> the second is in OsmPlugin by Konstantin Oblaukhov - 2011. Both of
> them are placed in plugins so if somebody wants to add some
> functionality which works with osm file than he/she will be confused.
> Which implementation is better? The more important question is why
> implementation is placed in plugin instead of library. For example kml
> tag handlers are in src/lib/geodata/handlers/kml. Why osm handlers are
> placed in different plugins directories?
> 2. When I was trying to make OsmAnnotate works I found that some parts
> of code which used in OsmAnnotate were removed from Marble. For
> example commit 23c1e5bf5f750f9a8d8073decc3d4a58bfce38d0. Are
> RenderPlugin interface is stable? Can I use for example actionGroups()
> and actionToolbarGroups() to send actions between plugin and marble
> core?
> 3. I do not find a way to send signals from RenderPlugin to marble
> widget, or to programs which used libmarblewidget. Could you point me?

More information about the Marble-devel mailing list