Hi, First let me say that of course depending on your deadline for your software you might either go for "KDE 4 branch Marble (0.5.x)" or "SVN trunk". SVN trunk is only expected to officially stabilize by about May / June and won't be binary compatible to Marble 0.5.1. Also please be aware that we are about to change the core architecture a bit to make it more clean and to allow exactly those things you'd like to do (however we'd be glad to accept any patches as our development resources are more sparse than our ambitious plans for the future ;-) On Monday 07 April 2008 19:43:06 Clarke, Trevor wrote: > First, the application is not allowed to arbitrarily access the network > for security reasons. I tried disabling data download (including > Wikipedia access) by calling MarbleWidget->setDownloadManager(NULL) > which did not seem to work. Is there something else I need to do or > should I ifdef out the Wikipedia code before I compile the widget? Ok. I realize that indeed there is a minor flaw/oddity that crept into the architecture: Actually HttpDownLoadManager already has a private member bool m_downloadEnabled; However getters and setters for that one are still missing (patches always appreciated) so your workaround to set the DownloadManager NULL is a valid one. As you have found out PlaceMarkInfoDialog has got a Wikipedia-Browser (marble/src/lib/TinyWebbrowser.cpp) which instantiates its own HttpDownloadManager in the Ctor. So the quick and dirty solution would be indeed to either ifdef that part out or to set m_downloadManager = NULL there (Haven't tested the latter though). The reason for the two different download managers is the fact that there are two socalled StoragePolicies how data can get saved: 1.) Tiles get saved in a directory hierarchy as described here: http://www.kdedevelopers.org/node/3269 2.) Wikipedia data gets saved as Qt resources in a different manner hence using a different StoragePolicy. Once started the DownloadManager AFAIR needs to stick to one of those StoragePolicy modes for its lifetime (a pragmatic restriction which somebody might eventually fix someday ;-). So for each purpose (tiles and wikipedia data) there is a seperate downloadmanager needed. As mentioned the second HttpDownloadManager gets instantiated by the TinyWebbrowser (actually we should rework that in a way similar to the way MarbleWidget treats the downloadmanager that it uses). Now the proper solution would of course be to give access to the downloadManager being used inside the PlaceMarkInfoDialog/TinyWebbrowser "from the outside". > Second, I need to dynamically add vector data after Marble has > initialized. This data is not available in a file so I can't just load > some kml, etc. How can I add vector data to Marble via the C++ API after > it is initialized? Currently (and in Marble 0.5.x) you can only inherit from MarbleWidget and either use the paintEvent or use virtual void MarbleWidget::customPaint( ClipPainter *painter ); to paint basically using a ClipPainter (Clippainter is basically a QPainter extended with some enhancement that deals with restrictions of QPainter/XOrg that prevent Marble to slow down to a crawl). We are about to rework this part in SVN. Please have a look at marble/docs/paintingmaps.txt which outlines approximately how we'd like painting on maps to work. Also there is: marble/src/lib/GeoPainter.h which already mentions the methods that we plan to support and which "just" need to get implemented. Actually as long as you don't want lines to follow the projection between nodes this should be quite easy to implement. > If I can't do this via the public API I can make some > patches...is this something that would likely be accepted as a patch? Sounds like you'd like to do the GeoPainter.cpp implementation. Such patches would be greatly appreciated. Please have a look at GeoPainter.h and paintingmaps.txt and if you have detailed questions don't hesitate to either mail me, ask on marble-devel@kde.org or join "ingwa" and me (nick: "tackat") on irc.freenode.org at #kde-edu. > should I submit the changes? Yes, we are very interested in all kinds of patches that you might come up with. People have provided patches in the past and often they get applied straight away (except for minor fixing or course). > (should I submit the changes?) If I need to add this capability, could > someone point me in the right direction to get started? Yes, as I said we have detailed plans in that area (as Marble is supposed to get used by people like you) and if you have detailed questions just ask :) Best Wishes, Torsten Rahn > ------------------------------ > Trevor R.H. Clarke > tclarke@ball.com > Ball Aerospace & Technologies Corp > GPG key available on random.sks.keyserver.penguin.de > > > > > This message and any enclosures are intended only for the addressee. > Please notify the sender by email if you are not the intended recipient. > If you are not the intended recipient, you may not use, copy, disclose, or > distribute this message or its contents or enclosures to any other person > and any such actions may be unlawful. Ball reserves the right to monitor > and review all messages and enclosures sent to or from this email address. > _______________________________________________ > kde-edu mailing list > kde-edu@mail.kde.org > https://mail.kde.org/mailman/listinfo/kde-edu --  Torsten Rahn  Tel.: 0 21 61 - 46 43 - 192 credativ GmbH, HRB Mönchengladbach 12080 Hohenzollernstr. 133, 41061 Mönchengladbach Geschäftsführung: Dr. Michael Meskes, Jörg Folz _______________________________________________ kde-edu mailing list kde-edu@mail.kde.org https://mail.kde.org/mailman/listinfo/kde-edu