[Marble-devel] QGraphicsView Overlay for marble

Andrew Manson g.real.ate at gmail.com
Tue Mar 24 22:47:35 CET 2009


Hi Bastian, Simon,

Thanks for the input, and i have to admit that i did overlook the idea 
of having multiple MarbleWidgets.

So am i to understand that every active MarbleWidget might have 
different plugins loaded for each of the N active MarbleWidgets? And 
also if there are more than one widgets is there any way that the model 
actually maintains pointers to all of the active MarbleWidgets, not 
unlike the Observer Pattern?

The reason that i would need to know that is because the Overlay idea 
requires that there is a separate QGraphicsView for each of the Widgets. 
the QGraphicsView would be closely tied to the MarbleWidget ( through a 
set of signals and slots ) and would have a separate QGraphicsScene that 
would be global, i.e. there only be one instance of it.

And also does every widget share the same instance of the MarbleModel? i 
didn't know the Model view Controller stuff had progressed this far.

With regards to the Widgetless Marble, if there was only one plugin 
manager i don't really see this effecting the functionality so much as i 
presume there is some provisions to not load rendering plugins when 
there is no Widget.

-Andrew

p.s. These questions are not actually directed at either of you, they 
are meant to be open to the floor. Sorry if it felt like i was quizzing 
you ;)

Bastian Holst wrote:
> Hi Andrew
>
>   
>> Just for reference ( and in case you don't like looking at diffs ) the
>> chain of constructors i was talking about is: MarbleWidget -> MarbleMap
>> -> MarbleModel -> LayerManager -> PluginManager.
>>
>> ... this, as you all know, seems a bit unnecessary. Any alternative
>> solution would need to alter the Architecture of marble in some way, the
>> simplest way to do this i think might be to Change the PluginManager
>> into a Singleton Class. This might even be able to maintain binary
>> compatibility, which the diff attached clearly does not.
>>     
> Making the PluginManager a singleton probably isn't a good idea. An 
> application theoretically can have more than one MarbleWidget in it. Remember, 
> Marble isn't only an application, but also library for other applications. 
> Perhaps you want to show multiple places of the earth at the same time. Making 
> the PluginManager a singleton will possibly break that feature. I'm sorry that 
> I havn't got another idea how to solve this problem.
>
> Best Regards
> Bastian 
> 10° 13' 41"O,  54° 24' 38"N
> _______________________________________________
> Marble-devel mailing list
> Marble-devel at kde.org
> https://mail.kde.org/mailman/listinfo/marble-devel
>   


More information about the Marble-devel mailing list