[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [marble/KDE/4.9] src/bindings/python/sip: Python binding updates for 4.9.
From:       Simon Edwards <simon () simonzone ! com>
Date:       2012-07-04 19:16:00
Message-ID: 20120704191600.D7EB9A60C4 () git ! kde ! org
[Download RAW message or body]

Git commit 0720676dd6afbe9eaf0dd5fb55cf96df7eb8b6e9 by Simon Edwards.
Committed on 04/07/2012 at 21:13.
Pushed by sedwards into branch 'KDE/4.9'.

Python binding updates for 4.9.

M  +1    -5    src/bindings/python/sip/AbstractDataPlugin.sip
M  +28   -3    src/bindings/python/sip/AbstractDataPluginItem.sip
M  +11   -5    src/bindings/python/sip/AbstractDataPluginModel.sip
M  +2    -2    src/bindings/python/sip/AbstractFloatItem.sip
A  +50   -0    src/bindings/python/sip/AutoNavigation.sip
M  +11   -3    src/bindings/python/sip/BookmarkManager.sip
C  +5    -7    src/bindings/python/sip/DialogConfigurationInterface.sip [from: \
src/bindings/python/sip/LayerInterface.sip - 066% similarity] C  +9    -10   \
src/bindings/python/sip/DownloadRegion.sip [from: src/bindings/python/sip/GeoGraphicsScene.sip - 056% \
similarity] M  +0    -1    src/bindings/python/sip/DownloadRegionDialog.sip
M  +2    -1    src/bindings/python/sip/FileViewWidget.sip
M  +2    -1    src/bindings/python/sip/GeoDataAccuracy.sip
M  +7    -0    src/bindings/python/sip/GeoDataCoordinates.sip
M  +4    -2    src/bindings/python/sip/GeoDataFeature.sip
M  +1    -1    src/bindings/python/sip/GeoDataGeometry.sip
A  +19   -0    src/bindings/python/sip/GeoDataGroundOverlay.sip
M  +5    -3    src/bindings/python/sip/GeoDataIconStyle.sip
M  +0    -1    src/bindings/python/sip/GeoDataLatLonAltBox.sip
M  +0    -1    src/bindings/python/sip/GeoDataLatLonBox.sip
M  +1    -0    src/bindings/python/sip/GeoDataMultiGeometry.sip
M  +1    -1    src/bindings/python/sip/GeoDataObject.sip
C  +14   -10   src/bindings/python/sip/GeoDataOverlay.sip [from: \
src/bindings/python/sip/GeoGraphicsScene.sip - 055% similarity] M  +1    -1    \
src/bindings/python/sip/GeoDataStyle.sip A  +56   -0    src/bindings/python/sip/GeoDataTrack.sip
A  +56   -0    src/bindings/python/sip/GeoDataTreeModel.sip
M  +6    -0    src/bindings/python/sip/GeoDocument.sip
M  +1    -1    src/bindings/python/sip/GeoGraphicsScene.sip
C  +20   -10   src/bindings/python/sip/GeoWriter.sip [from: src/bindings/python/sip/GeoGraphicsScene.sip \
- 051% similarity] M  +1    -1    src/bindings/python/sip/LayerInterface.sip
M  +11   -2    src/bindings/python/sip/Maneuver.sip
M  +3    -0    src/bindings/python/sip/MarbleControlBox.sip
A  +189  -0    src/bindings/python/sip/MarbleGlobal.sip
M  +1    -2    src/bindings/python/sip/MarbleGraphicsItem.sip
M  +2    -1    src/bindings/python/sip/MarbleMap.sip
M  +1    -1    src/bindings/python/sip/MarbleModel.sip
M  +11   -1    src/bindings/python/sip/MarbleRunnerManager.sip
M  +2    -1    src/bindings/python/sip/MarbleWidget.sip
M  +3    -1    src/bindings/python/sip/NavigationWidget.sip
C  +9    -7    src/bindings/python/sip/ParseRunnerPlugin.sip [from: \
src/bindings/python/sip/LayerInterface.sip - 062% similarity] M  +1    -1    \
src/bindings/python/sip/PluginAboutDialog.sip M  +28   -7    src/bindings/python/sip/PluginInterface.sip
C  +19   -10   src/bindings/python/sip/PositionProviderPluginInterface.sip [from: \
src/bindings/python/sip/GeoGraphicsScene.sip - 051% similarity] M  +5    -2    \
src/bindings/python/sip/PositionTracking.sip M  +7    -7    src/bindings/python/sip/RenderPlugin.sip
C  +13   -10   src/bindings/python/sip/ReverseGeocodingRunnerPlugin.sip [from: \
src/bindings/python/sip/GeoGraphicsScene.sip - 052% similarity] M  +5    -4    \
src/bindings/python/sip/RouteRequest.sip M  +2    -0    src/bindings/python/sip/RouteSegment.sip
M  +2    -1    src/bindings/python/sip/RoutingModel.sip
A  +46   -0    src/bindings/python/sip/RoutingRunnerPlugin.sip
D  +0    -70   src/bindings/python/sip/RunnerPlugin.sip
C  +13   -10   src/bindings/python/sip/SearchRunnerPlugin.sip [from: \
src/bindings/python/sip/GeoGraphicsScene.sip - 054% similarity] M  +7    -5    \
src/bindings/python/sip/Serializable.sip M  +6    -1    src/bindings/python/sip/ViewportParams.sip
M  +21   -9    src/bindings/python/sip/marblemod.sip

http://commits.kde.org/marble/0720676dd6afbe9eaf0dd5fb55cf96df7eb8b6e9

diff --git a/src/bindings/python/sip/AbstractDataPlugin.sip \
b/src/bindings/python/sip/AbstractDataPlugin.sip index 99e73ef..8e84a8d 100644
--- a/src/bindings/python/sip/AbstractDataPlugin.sip
+++ b/src/bindings/python/sip/AbstractDataPlugin.sip
@@ -28,16 +28,11 @@ class AbstractDataPlugin : Marble::RenderPlugin /Abstract/
 %End
 
 public:
-                            AbstractDataPlugin ();
     QStringList             backendTypes () const;
     QString                 renderPolicy () const;
     QStringList             renderPosition () const;
-    virtual void            initialize ()=0;
-    bool                    isInitialized () const;
     Marble::AbstractDataPluginModel*  model () const;
     void                    setModel (Marble::AbstractDataPluginModel* model);
-    void                    setNameId (const QString& name);
-    QString                 nameId () const;
     quint32                 numberOfItems () const;
     void                    setNumberOfItems (quint32 number);
     QList<Marble::AbstractDataPluginItem*>  whichItemAt (const QPoint& curpos);
@@ -48,6 +43,7 @@ signals:
 public:
 //ig    PluginManager*          pluginManager () const;
     virtual Marble::RenderPlugin::RenderType  renderType () const;
+                            AbstractDataPlugin (const Marble::MarbleModel* marbleModel);
 };
 // AbstractDataPlugin
 
diff --git a/src/bindings/python/sip/AbstractDataPluginItem.sip \
b/src/bindings/python/sip/AbstractDataPluginItem.sip index cc21c9a..b08e25a 100644
--- a/src/bindings/python/sip/AbstractDataPluginItem.sip
+++ b/src/bindings/python/sip/AbstractDataPluginItem.sip
@@ -27,11 +27,14 @@
 #include <AbstractFloatItem.h>
 #include <AbstractWorkerThread.h>
 #include <routing/AlternativeRoutesModel.h>
+#include <AutoNavigation.h>
 #include <BookmarkManager.h>
 #include <CurrentLocationWidget.h>
+#include <DownloadRegion.h>
 #include <DownloadRegionDialog.h>
 #include <ElevationModel.h>
 #include <FileViewWidget.h>
+#include <GeoDataTreeModel.h>
 #include <GeoGraphicsScene.h>
 #include <LatLonBoxWidget.h>
 #include <LatLonEdit.h>
@@ -48,13 +51,16 @@
 #include <MarbleRunnerManager.h>
 #include <MarbleWidget.h>
 #include <NavigationWidget.h>
+#include <ParseRunnerPlugin.h>
 #include <PluginAboutDialog.h>
 #include <PositionTracking.h>
 #include <QtMarbleConfigDialog.h>
 #include <RenderPlugin.h>
+#include <ReverseGeocodingRunnerPlugin.h>
 #include <routing/RouteRequest.h>
 #include <routing/RoutingModel.h>
-#include <RunnerPlugin.h>
+#include <RoutingRunnerPlugin.h>
+#include <SearchRunnerPlugin.h>
 #include <SunLocator.h>
 #include <TileCreator.h>
 #include <TileLevelRangeWidget.h>
@@ -96,8 +102,12 @@ public:
         sipType = sipType_Marble_AbstractDataPluginItem;
     else if (dynamic_cast<Marble::AbstractDataPluginModel*>(sipCpp))
         sipType = sipType_Marble_AbstractDataPluginModel;
+    else if (dynamic_cast<Marble::AutoNavigation*>(sipCpp))
+        sipType = sipType_Marble_AutoNavigation;
     else if (dynamic_cast<Marble::BookmarkManager*>(sipCpp))
         sipType = sipType_Marble_BookmarkManager;
+    else if (dynamic_cast<Marble::DownloadRegion*>(sipCpp))
+        sipType = sipType_Marble_DownloadRegion;
     else if (dynamic_cast<Marble::ElevationModel*>(sipCpp))
         sipType = sipType_Marble_ElevationModel;
     else if (dynamic_cast<Marble::GeoGraphicsScene*>(sipCpp))
@@ -112,6 +122,8 @@ public:
         sipType = sipType_Marble_MarbleModel;
     else if (dynamic_cast<Marble::MarbleRunnerManager*>(sipCpp))
         sipType = sipType_Marble_MarbleRunnerManager;
+    else if (dynamic_cast<Marble::ParseRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_ParseRunnerPlugin;
     else if (dynamic_cast<Marble::PositionTracking*>(sipCpp))
         sipType = sipType_Marble_PositionTracking;
     else if (dynamic_cast<Marble::RenderPlugin*>(sipCpp))
@@ -122,12 +134,18 @@ public:
         else if (dynamic_cast<Marble::AbstractFloatItem*>(sipCpp))
             sipType = sipType_Marble_AbstractFloatItem;
         }
+    else if (dynamic_cast<Marble::ReverseGeocodingRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_ReverseGeocodingRunnerPlugin;
     else if (dynamic_cast<Marble::RouteRequest*>(sipCpp))
         sipType = sipType_Marble_RouteRequest;
-    else if (dynamic_cast<Marble::RunnerPlugin*>(sipCpp))
-        sipType = sipType_Marble_RunnerPlugin;
+    else if (dynamic_cast<Marble::RoutingRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_RoutingRunnerPlugin;
+    else if (dynamic_cast<Marble::SearchRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_SearchRunnerPlugin;
     else if (dynamic_cast<Marble::SunLocator*>(sipCpp))
         sipType = sipType_Marble_SunLocator;
+    else if (dynamic_cast<Marble::GeoDataTreeModel*>(sipCpp))
+        sipType = sipType_Marble_GeoDataTreeModel;
     else if (dynamic_cast<Marble::AlternativeRoutesModel*>(sipCpp))
         sipType = sipType_Marble_AlternativeRoutesModel;
     else if (dynamic_cast<Marble::RoutingModel*>(sipCpp))
@@ -178,6 +196,13 @@ signals:
     void                    updated ();
 public:
     virtual void            setSettings (const QHash<QString,QVariant>& settings);
+    bool                    isFavorite () const;
+    virtual void            setFavorite (bool favorite);
+    virtual QList<QAction*>  actions ();
+signals:
+    void                    favoriteChanged (const QString& id, bool favorite);
+public:
+    void                    toggleFavorite ();
 };
 // AbstractDataPluginItem
 
diff --git a/src/bindings/python/sip/AbstractDataPluginModel.sip \
b/src/bindings/python/sip/AbstractDataPluginModel.sip index 856142e..d25bedf 100644
--- a/src/bindings/python/sip/AbstractDataPluginModel.sip
+++ b/src/bindings/python/sip/AbstractDataPluginModel.sip
@@ -35,8 +35,6 @@ protected:
     void                    downloadItemData (const QUrl& url, const QString& type, \
Marble::AbstractDataPluginItem* item);  void                    downloadDescriptionFile (const QUrl& \
                url);
     void                    addItemToList (Marble::AbstractDataPluginItem* item);
-    QString                 name () const;
-    void                    setName (const QString& name);
     QString                 generateFilename (const QString& id, const QString& type) const;
     QString                 generateFilepath (const QString& id, const QString& type) const;
     bool                    fileExists (const QString& fileName) const;
@@ -49,11 +47,19 @@ protected:
     bool                    itemExists (const QString& id) const;
 signals:
     void                    itemsUpdated ();
-public:
-//ig    explicit                AbstractDataPluginModel (const QString& name, PluginManager* \
                pluginManager, QObject* parent /TransferThis/ = 0);
-    QList<Marble::AbstractDataPluginItem*>  items (Marble::ViewportParams* viewport, const \
Marble::MarbleModel* model, qint32 number = 10);  protected:
     virtual void            getAdditionalItems (const Marble::GeoDataLatLonAltBox& box, const \
Marble::MarbleModel* model, qint32 number = 10)=0; +public:
+//ig    explicit                AbstractDataPluginModel (const QString& name, const PluginManager* \
pluginManager, QObject* parent /TransferThis/ = 0); +    QList<Marble::AbstractDataPluginItem*>  items \
(const Marble::ViewportParams* viewport, const Marble::MarbleModel* model, qint32 number = 10); +    \
virtual void            setFavoriteItems (const QStringList& list); +    QStringList             \
favoriteItems () const; +    virtual void            setFavoriteItemsOnly (bool favoriteOnly);
+    bool                    isFavoriteItemsOnly () const;
+protected:
+    void                    clear ();
+signals:
+    void                    favoriteItemsChanged (const QStringList& favoriteItems);
 };
 // AbstractDataPluginModel
 
diff --git a/src/bindings/python/sip/AbstractFloatItem.sip \
b/src/bindings/python/sip/AbstractFloatItem.sip index db6ef80..5f4302b 100644
--- a/src/bindings/python/sip/AbstractFloatItem.sip
+++ b/src/bindings/python/sip/AbstractFloatItem.sip
@@ -28,7 +28,6 @@ class AbstractFloatItem : Marble::RenderPlugin /Abstract/
 %End
 
 public:
-    explicit                AbstractFloatItem (const QPointF& point = QPointF(10.0,10.0), const QSizeF& \
size = QSizeF(150.0,50.0));  QPen                    pen () const;
     void                    setPen (const QPen& pen);
     QFont                   font () const;
@@ -43,7 +42,6 @@ protected:
 public:
     virtual ~AbstractFloatItem ();
     bool                    render (Marble::GeoPainter* painter, Marble::ViewportParams* viewport, const \
                QString& renderPos = "FLOAT_ITEM", Marble::GeoSceneLayer* layer = 0);
-    virtual bool            renderOnMap (Marble::GeoPainter* painter, Marble::ViewportParams* viewport, \
const QString& renderPos, Marble::GeoSceneLayer* layer = 0);  void                    setVisible (bool \
visible);  bool                    visible () const;
     bool                    positionLocked ();
@@ -53,6 +51,8 @@ protected:
     virtual void            contextMenuEvent (QWidget* w, QContextMenuEvent* e);
     virtual void            toolTipEvent (QHelpEvent* e);
     QMenu*                  contextMenu ();
+public:
+    explicit                AbstractFloatItem (const Marble::MarbleModel* marbleModel, const QPointF& \
point = QPointF(10.0,10.0), const QSizeF& size = QSizeF(150.0,50.0));  };
 // AbstractFloatItem
 
diff --git a/src/bindings/python/sip/AutoNavigation.sip b/src/bindings/python/sip/AutoNavigation.sip
new file mode 100644
index 0000000..4b7ff0a
--- /dev/null
+++ b/src/bindings/python/sip/AutoNavigation.sip
@@ -0,0 +1,50 @@
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
+
+//                 Generated by twine2
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU Library General Public License as
+// published by the Free Software Foundation; either version 2, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details
+
+// You should have received a copy of the GNU Library General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+namespace Marble
+{
+class AutoNavigation : QObject
+{
+%TypeHeaderCode
+#include <AutoNavigation.h>
+%End
+
+public:
+    explicit                AutoNavigation (Marble::MarbleModel* model, const Marble::ViewportParams* \
viewport, QObject* parent /TransferThis/ = 0); +    ~AutoNavigation ();
+    enum CenterMode
+    {
+        DontRecenter,
+        AlwaysRecenter,
+        RecenterOnBorder
+    };
+    void                    setRecenter (Marble::AutoNavigation::CenterMode recenterMode);
+    void                    setAutoZoom (bool activate);
+    Marble::AutoNavigation::CenterMode  recenterMode () const;
+    bool                    autoZoom () const;
+    void                    adjust (const Marble::GeoDataCoordinates& position, qreal speed);
+    void                    inhibitAutoAdjustments ();
+signals:
+    void                    recenterModeChanged (Marble::AutoNavigation::CenterMode mode);
+    void                    autoZoomToggled (bool enabled);
+    void                    zoomIn (Marble::FlyToMode);
+    void                    zoomOut (Marble::FlyToMode);
+    void                    centerOn (const Marble::GeoDataCoordinates& position, bool animated);
+};
+};
diff --git a/src/bindings/python/sip/BookmarkManager.sip b/src/bindings/python/sip/BookmarkManager.sip
index 80e291c..0f18097 100644
--- a/src/bindings/python/sip/BookmarkManager.sip
+++ b/src/bindings/python/sip/BookmarkManager.sip
@@ -26,16 +26,24 @@ class BookmarkManager : QObject
 %End
 
 public:
-    explicit                BookmarkManager (QObject* parent /TransferThis/ = 0);
     ~BookmarkManager ();
     bool                    loadFile (const QString& relativeFilePath);
     QString                 bookmarkFile () const;
-    void                    addBookmark (const Marble::GeoDataPlacemark& bookmark, const QString& \
folderName);  //FIXME
 //ig    QVector<Marble::GeoDataFolder*>  folders () const;
-    void                    addNewBookmarkFolder (const QString& folder);
     void                    removeAllBookmarks ();
 signals:
     void                    bookmarksChanged ();
+public:
+    explicit                BookmarkManager (Marble::GeoDataTreeModel* treeModel, QObject* parent \
/TransferThis/ = 0); +    void                    addBookmark (Marble::GeoDataContainer* folder, const \
Marble::GeoDataPlacemark& bookmark); +    void                    updateBookmark \
(Marble::GeoDataPlacemark* bookmark); +    void                    removeBookmark \
(Marble::GeoDataPlacemark* bookmark); +    Marble::GeoDataDocument*  document () const;
+    bool                    showBookmarks ();
+    void                    addNewBookmarkFolder (Marble::GeoDataContainer* folder, const QString& \
name); +    void                    renameBookmarkFolder (Marble::GeoDataFolder* folder, const QString& \
name); +    void                    removeBookmarkFolder (Marble::GeoDataFolder* folder);
+    void                    setShowBookmarks (bool visible);
 };
 };
diff --git a/src/bindings/python/sip/LayerInterface.sip \
b/src/bindings/python/sip/DialogConfigurationInterface.sip similarity index 66%
copy from src/bindings/python/sip/LayerInterface.sip
copy to src/bindings/python/sip/DialogConfigurationInterface.sip
index 75c04d7..cf890c9 100644
--- a/src/bindings/python/sip/LayerInterface.sip
+++ b/src/bindings/python/sip/DialogConfigurationInterface.sip
@@ -1,4 +1,4 @@
-// Copyright 2010 Simon Edwards <simon@simonzone.com>
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
 
 //                 Generated by twine2
 
@@ -19,16 +19,14 @@
 
 namespace Marble
 {
-class LayerInterface
+class DialogConfigurationInterface
 {
 %TypeHeaderCode
-#include <LayerInterface.h>
+#include <DialogConfigurationInterface.h>
 %End
 
 public:
-    virtual ~LayerInterface ();
-    virtual QStringList     renderPosition () const=0;
-    virtual bool            render (Marble::GeoPainter* painter, Marble::ViewportParams* viewport, const \
                QString& renderPos = "NONE", Marble::GeoSceneLayer* layer = 0)=0;
-    virtual qreal           zValue () const;
+    virtual ~DialogConfigurationInterface ();
+    virtual QDialog*        configDialog ()=0;
 };
 };
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip b/src/bindings/python/sip/DownloadRegion.sip
similarity index 56%
copy from src/bindings/python/sip/GeoGraphicsScene.sip
copy to src/bindings/python/sip/DownloadRegion.sip
index 1adf1a7..64f7d45 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/DownloadRegion.sip
@@ -19,20 +19,19 @@
 
 namespace Marble
 {
-class GeoGraphicsScene : QObject
+class DownloadRegion : QObject
 {
 %TypeHeaderCode
-#include <GeoGraphicsScene.h>
+#include <DownloadRegion.h>
 %End
 
 public:
-                            GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
-    ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
-    void                    removeItem (Marble::GeoGraphicsItem* item);
-    void                    clear ();
-    QList<Marble::GeoGraphicsItem*>  items () const;
-    QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
                const;
-    static int s_tileZoomLevel;
+                            DownloadRegion (QObject* parent /TransferThis/ = 0);
+    void                    setMarbleModel (Marble::MarbleModel* model);
+    ~DownloadRegion ();
+    void                    setTileLevelRange (const int minimumTileLevel, const int maximumTileLevel);
+//ig    QVector<Marble::TileCoordsPyramid>  region (const TextureLayer* textureLayer, const \
Marble::GeoDataLatLonAltBox& region) const; +    void                    setVisibleTileLevel (const int \
tileLevel); +//ig    QVector<Marble::TileCoordsPyramid>  routeRegion (const TextureLayer* textureLayer, \
qreal offset) const;  };
 };
diff --git a/src/bindings/python/sip/DownloadRegionDialog.sip \
b/src/bindings/python/sip/DownloadRegionDialog.sip index b3fa878..c744dcb 100644
--- a/src/bindings/python/sip/DownloadRegionDialog.sip
+++ b/src/bindings/python/sip/DownloadRegionDialog.sip
@@ -37,7 +37,6 @@ public:
     void                    setVisibleTileLevel (const int tileLevel);
     void                    setSelectionMethod (const Marble::DownloadRegionDialog::SelectionMethod);
     QVector<Marble::TileCoordsPyramid>  region () const;
-    QVector<Marble::TileCoordsPyramid>  routeRegion () const;
     void                    setSpecifiedLatLonAltBox (const Marble::GeoDataLatLonAltBox&);
     void                    setVisibleLatLonAltBox (const Marble::GeoDataLatLonAltBox&);
     void                    updateTextureLayer ();
diff --git a/src/bindings/python/sip/FileViewWidget.sip b/src/bindings/python/sip/FileViewWidget.sip
index 014db27..154d6ca 100644
--- a/src/bindings/python/sip/FileViewWidget.sip
+++ b/src/bindings/python/sip/FileViewWidget.sip
@@ -30,9 +30,10 @@ public:
     ~FileViewWidget ();
     void                    enableFileViewActions ();
 //ig    void                    setFileViewModel (FileViewModel* model);
-//ig    void                    setTreeModel (GeoDataTreeModel* model);
 signals:
     void                    centerOn (const Marble::GeoDataPlacemark&, bool animated);
     void                    centerOn (const Marble::GeoDataLatLonBox&, bool animated);
+public:
+    void                    setTreeModel (Marble::GeoDataTreeModel* model);
 };
 };
diff --git a/src/bindings/python/sip/GeoDataAccuracy.sip b/src/bindings/python/sip/GeoDataAccuracy.sip
index ccba154..8f2cb85 100644
--- a/src/bindings/python/sip/GeoDataAccuracy.sip
+++ b/src/bindings/python/sip/GeoDataAccuracy.sip
@@ -43,7 +43,8 @@ public:
         Street,
         Detailed
     };
-                            GeoDataAccuracy ();
+                            GeoDataAccuracy (Marble::GeoDataAccuracy::Level level = \
Marble::GeoDataAccuracy::none, qreal horizontal = 0.0, qreal vertical = 0.0); +    bool                   \
operator == (const Marble::GeoDataAccuracy& other) const;  };
 // GeoDataAccuracy
 
diff --git a/src/bindings/python/sip/GeoDataCoordinates.sip \
b/src/bindings/python/sip/GeoDataCoordinates.sip index 635e5c7..72e4c0d 100644
--- a/src/bindings/python/sip/GeoDataCoordinates.sip
+++ b/src/bindings/python/sip/GeoDataCoordinates.sip
@@ -76,6 +76,13 @@ public:
     virtual ~GeoDataCoordinates ();
     bool                    isPole (Marble::Pole = Marble::AnyPole) const;
     virtual bool            operator != (const Marble::GeoDataCoordinates&) const;
+    enum BearingType
+    {
+        InitialBearing,
+        FinalBearing
+    };
+    bool                    isValid () const;
+    qreal                   bearing (const Marble::GeoDataCoordinates& other, \
Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian, \
Marble::GeoDataCoordinates::BearingType type = Marble::GeoDataCoordinates::InitialBearing) const;  };
 // GeoDataCoordinates
 
diff --git a/src/bindings/python/sip/GeoDataFeature.sip b/src/bindings/python/sip/GeoDataFeature.sip
index 32aa3be..2b7b677 100644
--- a/src/bindings/python/sip/GeoDataFeature.sip
+++ b/src/bindings/python/sip/GeoDataFeature.sip
@@ -29,7 +29,7 @@ public:
                             GeoDataFeature (const QString& name);
                             GeoDataFeature (const Marble::GeoDataFeature& other);
     bool                    operator == (const Marble::GeoDataFeature&) const;
-    EnumFeatureId           featureId () const;
+    Marble::EnumFeatureId           featureId () const;
 
     enum GeoDataVisualCategory
     {
@@ -207,7 +207,6 @@ public:
     Marble::GeoDataStyleMap*  styleMap () const;
     void                    setStyleMap (Marble::GeoDataStyleMap* map);
     const QSize             symbolSize () const;
-    const QPixmap           symbolPixmap () const;
     static void             resetDefaultStyles ();
     virtual void            pack (QDataStream& stream) const;
     virtual void            unpack (QDataStream& stream);
@@ -233,6 +232,9 @@ public:
 //ig    void                    setExtendedData (const GeoDataExtendedData& extendedData);
     void                    setRole (const QString& role);
 //ig    void                    setTimeSpan (GeoDataTimeSpan timeSpan);
+    static Marble::GeoDataFeature::GeoDataVisualCategory  OsmVisualCategory (const QString& keyValue);
+    bool                    isGloballyVisible () const;
+    const QImage            symbol () const;
 };
 // GeoDataFeature
 
diff --git a/src/bindings/python/sip/GeoDataGeometry.sip b/src/bindings/python/sip/GeoDataGeometry.sip
index 2996c79..9cb1c8a 100644
--- a/src/bindings/python/sip/GeoDataGeometry.sip
+++ b/src/bindings/python/sip/GeoDataGeometry.sip
@@ -28,7 +28,7 @@ class GeoDataGeometry : Marble::GeoDataObject
 public:
                             GeoDataGeometry ();
                             GeoDataGeometry (const Marble::GeoDataGeometry& other);
-    virtual EnumGeometryId  geometryId () const;
+    virtual Marble::EnumGeometryId  geometryId () const;
     bool                    extrude () const;
     void                    setExtrude (bool extrude);
     Marble::AltitudeMode    altitudeMode () const;
diff --git a/src/bindings/python/sip/GeoDataGroundOverlay.sip \
b/src/bindings/python/sip/GeoDataGroundOverlay.sip new file mode 100644
index 0000000..5e96560
--- /dev/null
+++ b/src/bindings/python/sip/GeoDataGroundOverlay.sip
@@ -0,0 +1,19 @@
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
+
+//                 Generated by twine2
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU Library General Public License as
+// published by the Free Software Foundation; either version 2, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details
+
+// You should have received a copy of the GNU Library General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
diff --git a/src/bindings/python/sip/GeoDataIconStyle.sip b/src/bindings/python/sip/GeoDataIconStyle.sip
index b78e30e..32b26a6 100644
--- a/src/bindings/python/sip/GeoDataIconStyle.sip
+++ b/src/bindings/python/sip/GeoDataIconStyle.sip
@@ -28,9 +28,7 @@ class GeoDataIconStyle : Marble::GeoDataColorStyle
 public:
                             GeoDataIconStyle ();
                             GeoDataIconStyle (const Marble::GeoDataIconStyle& other);
-    explicit                GeoDataIconStyle (const QPixmap& icon, const QPointF& hotSpot = \
                QPointF(0.5,0.5));
-    void                    setIcon (const QPixmap& icon);
-    QPixmap                 icon () const;
+    QImage                 icon () const;
     void                    setIconPath (const QString& filename);
     void                    setHotSpot (const QPointF& hotSpot, Marble::GeoDataHotSpot::Units xunits, \
Marble::GeoDataHotSpot::Units yunits);  const QPointF&          hotSpot () const;
@@ -40,6 +38,10 @@ public:
     virtual void            unpack (QDataStream& stream);
     ~GeoDataIconStyle ();
     virtual const char*     nodeType () const;
+    explicit                GeoDataIconStyle (const QImage& icon, const QPointF& hotSpot = \
QPointF(0.5,0.5)); +    void                    setIcon (const QImage& icon);
+    QString                 iconPath () const;
+//ig    QPointF                 hotSpot (Marble::GeoDataHotSpot::Units& xunits, \
Marble::GeoDataHotSpot::Units& yunits) const;  };
 // GeoDataIconStyle
 
diff --git a/src/bindings/python/sip/GeoDataLatLonAltBox.sip \
b/src/bindings/python/sip/GeoDataLatLonAltBox.sip index 0d56e6c..6cb34d7 100644
--- a/src/bindings/python/sip/GeoDataLatLonAltBox.sip
+++ b/src/bindings/python/sip/GeoDataLatLonAltBox.sip
@@ -35,7 +35,6 @@ public:
     void                    setMaxAltitude (const qreal maxAltitude);
     Marble::AltitudeMode    altitudeMode () const;
     void                    setAltitudeMode (const Marble::AltitudeMode altitudeMode);
-    virtual bool            contains (const Marble::GeoDataPoint&) const;
     virtual bool            contains (const Marble::GeoDataCoordinates&) const;
     bool                    contains (const Marble::GeoDataLatLonAltBox&) const;
     virtual bool            intersects (const Marble::GeoDataLatLonAltBox&) const;
diff --git a/src/bindings/python/sip/GeoDataLatLonBox.sip b/src/bindings/python/sip/GeoDataLatLonBox.sip
index c22cd0b..9b2f660 100644
--- a/src/bindings/python/sip/GeoDataLatLonBox.sip
+++ b/src/bindings/python/sip/GeoDataLatLonBox.sip
@@ -43,7 +43,6 @@ public:
     qreal                   width (Marble::GeoDataCoordinates::Unit unit = \
                Marble::GeoDataCoordinates::Radian) const;
     qreal                   height (Marble::GeoDataCoordinates::Unit unit = \
Marble::GeoDataCoordinates::Radian) const;  bool                    crossesDateLine () const;
-    virtual bool            contains (const Marble::GeoDataPoint&) const;
     virtual bool            contains (const Marble::GeoDataCoordinates&) const;
     bool                    contains (const Marble::GeoDataLatLonBox&) const;
     virtual bool            intersects (const Marble::GeoDataLatLonBox&) const;
diff --git a/src/bindings/python/sip/GeoDataMultiGeometry.sip \
b/src/bindings/python/sip/GeoDataMultiGeometry.sip index 76b5cf2..69a7991 100644
--- a/src/bindings/python/sip/GeoDataMultiGeometry.sip
+++ b/src/bindings/python/sip/GeoDataMultiGeometry.sip
@@ -55,6 +55,7 @@ public:
     void                    append (Marble::GeoDataGeometry* other);
 //ig    QVector<GeoDataGeometry*>::Iterator  erase (QVector<GeoDataGeometry*>::Iterator pos);
 //ig    QVector<GeoDataGeometry*>::Iterator  erase (QVector<GeoDataGeometry*>::Iterator begin, \
QVector<GeoDataGeometry*>::Iterator end); +//ig    const Marble::GeoDataGeometry*  child (int) const;
 };
 // GeoDataMultiGeometry
 
diff --git a/src/bindings/python/sip/GeoDataObject.sip b/src/bindings/python/sip/GeoDataObject.sip
index 00f61a7..6071ee8 100644
--- a/src/bindings/python/sip/GeoDataObject.sip
+++ b/src/bindings/python/sip/GeoDataObject.sip
@@ -18,7 +18,7 @@
 namespace Marble
 {
 
-class GeoDataObject : Marble::GeoNode, Serializable
+class GeoDataObject : Marble::GeoNode, Marble::Serializable
 {
 %TypeHeaderCode
 #include <GeoDataObject.h>
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip b/src/bindings/python/sip/GeoDataOverlay.sip
similarity index 55%
copy from src/bindings/python/sip/GeoGraphicsScene.sip
copy to src/bindings/python/sip/GeoDataOverlay.sip
index 1adf1a7..0d73915 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/GeoDataOverlay.sip
@@ -19,20 +19,24 @@
 
 namespace Marble
 {
-class GeoGraphicsScene : QObject
+class GeoDataOverlay : Marble::GeoDataFeature
 {
 %TypeHeaderCode
-#include <GeoGraphicsScene.h>
+#include <GeoDataOverlay.h>
 %End
 
 public:
-                            GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
-    ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
-    void                    removeItem (Marble::GeoGraphicsItem* item);
-    void                    clear ();
-    QList<Marble::GeoGraphicsItem*>  items () const;
-    QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
                const;
-    static int s_tileZoomLevel;
+                            GeoDataOverlay ();
+    ~GeoDataOverlay ();
+                            GeoDataOverlay (const Marble::GeoDataOverlay& other);
+    QColor                  color () const;
+    void                    setColor (const QColor& color);
+    int                     drawOrder () const;
+    void                    setDrawOrder (int order);
+    QImage                  icon () const;
+    void                    setIcon (const QImage& icon);
+    void                    setIconFile (const QString& path);
+    QString                 iconFile () const;
+    QString                 absoluteIconFile () const;
 };
 };
diff --git a/src/bindings/python/sip/GeoDataStyle.sip b/src/bindings/python/sip/GeoDataStyle.sip
index f9ba86b..02bd992 100644
--- a/src/bindings/python/sip/GeoDataStyle.sip
+++ b/src/bindings/python/sip/GeoDataStyle.sip
@@ -28,7 +28,6 @@ class GeoDataStyle : Marble::GeoDataStyleSelector
 public:
                             GeoDataStyle ();
                             GeoDataStyle (const Marble::GeoDataStyle& other);
-                            GeoDataStyle (const QPixmap& icon, const QFont& font, const QColor& color);
     ~GeoDataStyle ();
 
     void                    setIconStyle (const Marble::GeoDataIconStyle& style);
@@ -42,6 +41,7 @@ public:
     virtual void            pack (QDataStream& stream) const;
     virtual void            unpack (QDataStream& stream);
     virtual const char*     nodeType () const;
+                            GeoDataStyle (const QImage& icon, const QFont& font, const QColor& color);
 };
 // GeoDataStyle
 
diff --git a/src/bindings/python/sip/GeoDataTrack.sip b/src/bindings/python/sip/GeoDataTrack.sip
new file mode 100644
index 0000000..61a4a51
--- /dev/null
+++ b/src/bindings/python/sip/GeoDataTrack.sip
@@ -0,0 +1,56 @@
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
+
+//                 Generated by twine2
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU Library General Public License as
+// published by the Free Software Foundation; either version 2, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details
+
+// You should have received a copy of the GNU Library General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+namespace Marble
+{
+class GeoDataTrack : Marble::GeoDataGeometry
+{
+%TypeHeaderCode
+#include <GeoDataTrack.h>
+%End
+
+public:
+                            GeoDataTrack ();
+                            GeoDataTrack (const Marble::GeoDataGeometry& other);
+    int                     size () const;
+    bool                    interpolate () const;
+    void                    setInterpolate (bool on);
+    QDateTime               firstWhen () const;
+    QDateTime               lastWhen () const;
+    QList<Marble::GeoDataCoordinates>  coordinatesList () const;
+    QList<QDateTime>        whenList () const;
+    Marble::GeoDataCoordinates  coordinatesAt (const QDateTime& when) const;
+    Marble::GeoDataCoordinates  coordinatesAt (int index) const;
+    void                    addPoint (const QDateTime& when, const Marble::GeoDataCoordinates& coord);
+    void                    appendCoordinates (const Marble::GeoDataCoordinates& coord);
+    void                    appendAltitude (qreal altitude);
+    void                    appendWhen (const QDateTime& when);
+    void                    clear ();
+    void                    removeBefore (const QDateTime& when);
+    void                    removeAfter (const QDateTime& when);
+    const Marble::GeoDataLineString*  lineString () const;
+//ig    GeoDataExtendedData&    extendedData () const;
+//ig    void                    setExtendedData (const GeoDataExtendedData& extendedData);
+    virtual const char*     nodeType () const;
+    virtual Marble::EnumGeometryId  geometryId () const;
+    virtual Marble::GeoDataLatLonAltBox  latLonAltBox () const;
+    virtual void            pack (QDataStream& stream) const;
+    virtual void            unpack (QDataStream& stream);
+};
+};
diff --git a/src/bindings/python/sip/GeoDataTreeModel.sip b/src/bindings/python/sip/GeoDataTreeModel.sip
new file mode 100644
index 0000000..8457f13
--- /dev/null
+++ b/src/bindings/python/sip/GeoDataTreeModel.sip
@@ -0,0 +1,56 @@
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
+
+//                 Generated by twine2
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU Library General Public License as
+// published by the Free Software Foundation; either version 2, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details
+
+// You should have received a copy of the GNU Library General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+namespace Marble
+{
+class GeoDataTreeModel : QAbstractItemModel
+{
+%TypeHeaderCode
+#include <GeoDataTreeModel.h>
+%End
+
+public:
+    explicit                GeoDataTreeModel (QObject* parent /TransferThis/ = 0);
+    ~GeoDataTreeModel ();
+    virtual bool            hasChildren (const QModelIndex& parent) const;
+    int                     rowCount (const QModelIndex& parent = QModelIndex()) const;
+    QVariant                headerData (int section, Qt::Orientation orientation, int role = \
Qt::DisplayRole) const; +    QVariant                data (const QModelIndex& index, int role) const;
+    QModelIndex             index (int row, int column, const QModelIndex& parent = QModelIndex()) \
const; +    QModelIndex             index (Marble::GeoDataObject* object);
+    QModelIndex             parent (const QModelIndex& index) const;
+    int                     columnCount (const QModelIndex& parent = QModelIndex()) const;
+    Qt::ItemFlags           flags (const QModelIndex& index) const;
+    bool                    setData (const QModelIndex& index, const QVariant& value, int role = \
Qt::EditRole); +    void                    reset ();
+    void                    setRootDocument (Marble::GeoDataDocument* document);
+    Marble::GeoDataDocument*  rootDocument ();
+    int                     addFeature (Marble::GeoDataContainer* parent, Marble::GeoDataFeature* \
feature); +    bool                    removeFeature (Marble::GeoDataContainer* parent, int index);
+    bool                    removeFeature (Marble::GeoDataFeature* feature);
+    void                    updateFeature (Marble::GeoDataFeature* feature);
+    int                     addDocument (Marble::GeoDataDocument* document);
+    void                    removeDocument (int index);
+    void                    removeDocument (Marble::GeoDataDocument* document);
+    void                    update ();
+signals:
+    void                    removed (Marble::GeoDataObject* object);
+    void                    added (Marble::GeoDataObject* object);
+};
+};
diff --git a/src/bindings/python/sip/GeoDocument.sip b/src/bindings/python/sip/GeoDocument.sip
index 19d26ea..e11a225 100644
--- a/src/bindings/python/sip/GeoDocument.sip
+++ b/src/bindings/python/sip/GeoDocument.sip
@@ -80,6 +80,8 @@ protected:
                 else if (dynamic_cast<Marble::GeoDataFolder*>(sipCpp))
                     sipType = sipType_Marble_GeoDataFolder;
                 }
+            else if (dynamic_cast<Marble::GeoDataOverlay*>(sipCpp))
+                sipType = sipType_Marble_GeoDataOverlay;
             else if (dynamic_cast<Marble::GeoDataPlacemark*>(sipCpp))
                 sipType = sipType_Marble_GeoDataPlacemark;
             }
@@ -104,6 +106,8 @@ protected:
                 else if (dynamic_cast<Marble::GeoDataOuterBoundary*>(sipCpp))
                     sipType = sipType_Marble_GeoDataOuterBoundary;
                 }
+            else if (dynamic_cast<Marble::GeoDataTrack*>(sipCpp))
+                sipType = sipType_Marble_GeoDataTrack;
             }
         else if (dynamic_cast<Marble::GeoDataHotSpot*>(sipCpp))
             sipType = sipType_Marble_GeoDataHotSpot;
@@ -158,6 +162,7 @@ public:
 #include <GeoDataLookAt.h>
 #include <GeoDataMultiGeometry.h>
 #include <GeoDataObject.h>
+#include <GeoDataOverlay.h>
 #include <GeoDataPlacemark.h>
 #include <GeoDataPoint.h>
 #include <GeoDataPolyStyle.h>
@@ -166,5 +171,6 @@ public:
 #include <GeoDataStyle.h>
 #include <GeoDataStyleMap.h>
 #include <GeoDataStyleSelector.h>
+#include <GeoDataTrack.h>
 #include <GeoDocument.h>
 %End
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip b/src/bindings/python/sip/GeoGraphicsScene.sip
index 1adf1a7..1d70080 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/GeoGraphicsScene.sip
@@ -28,11 +28,11 @@ class GeoGraphicsScene : QObject
 public:
                             GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
     ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
     void                    removeItem (Marble::GeoGraphicsItem* item);
     void                    clear ();
     QList<Marble::GeoGraphicsItem*>  items () const;
     QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
const;  static int s_tileZoomLevel;
+    void                    addItem (Marble::GeoGraphicsItem* item);
 };
 };
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip b/src/bindings/python/sip/GeoWriter.sip
similarity index 51%
copy from src/bindings/python/sip/GeoGraphicsScene.sip
copy to src/bindings/python/sip/GeoWriter.sip
index 1adf1a7..9ed3c22 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/GeoWriter.sip
@@ -19,20 +19,30 @@
 
 namespace Marble
 {
-class GeoGraphicsScene : QObject
+class GeoWriter : QXmlStreamWriter
 {
 %TypeHeaderCode
-#include <GeoGraphicsScene.h>
+#include <GeoWriter.h>
 %End
 
 public:
-                            GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
-    ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
-    void                    removeItem (Marble::GeoGraphicsItem* item);
-    void                    clear ();
-    QList<Marble::GeoGraphicsItem*>  items () const;
-    QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
                const;
-    static int s_tileZoomLevel;
+                            GeoWriter ();
+    bool                    write (QIODevice* device, const Marble::GeoNode* feature);
+    void                    setDocumentType (const QString& documentType);
+    void                    writeElement (const QString& namespaceUri, const QString& key, const \
QString& value); +    void                    writeElement (const QString& key, const QString& value);
+    void                    writeOptionalElement (const QString& key, const QString& value);
+%ConvertToSubClassCode
+    // CTSCC for subclasses of 'QXmlStreamWriter'
+    sipType = NULL;
+
+    if (dynamic_cast<Marble::GeoWriter*>(sipCpp))
+        sipType = sipType_Marble_GeoWriter;
+%End
 };
 };
+%ModuleHeaderCode
+//ctscc
+#include <GeoWriter.h>
+#include <qxmlstream.h>
+%End
diff --git a/src/bindings/python/sip/LayerInterface.sip b/src/bindings/python/sip/LayerInterface.sip
index 75c04d7..e2bcf70 100644
--- a/src/bindings/python/sip/LayerInterface.sip
+++ b/src/bindings/python/sip/LayerInterface.sip
@@ -28,7 +28,7 @@ class LayerInterface
 public:
     virtual ~LayerInterface ();
     virtual QStringList     renderPosition () const=0;
-    virtual bool            render (Marble::GeoPainter* painter, Marble::ViewportParams* viewport, const \
QString& renderPos = "NONE", Marble::GeoSceneLayer* layer = 0)=0;  virtual qreal           zValue () \
const; +    virtual bool            render (Marble::GeoPainter* painter, Marble::ViewportParams* \
viewport, const QString& renderPos, Marble::GeoSceneLayer* layer)=0;  };
 };
diff --git a/src/bindings/python/sip/Maneuver.sip b/src/bindings/python/sip/Maneuver.sip
index b5bfc5b..f96888b 100644
--- a/src/bindings/python/sip/Maneuver.sip
+++ b/src/bindings/python/sip/Maneuver.sip
@@ -29,6 +29,8 @@ public:
     enum Direction
     {
         Unknown,
+        Continue,
+        Merge,
         Straight,
         SlightRight,
         Right,
@@ -40,7 +42,9 @@ public:
         RoundaboutFirstExit,
         RoundaboutSecondExit,
         RoundaboutThirdExit,
-        RoundaboutExit
+        RoundaboutExit,
+        ExitLeft,
+        ExitRight
     };
                             Maneuver ();
     Marble::Maneuver::Direction  direction () const;
@@ -49,9 +53,14 @@ public:
     void                    setPosition (const Marble::GeoDataCoordinates& position);
     Marble::GeoDataCoordinates  waypoint () const;
     bool                    hasWaypoint () const;
-    void                    setWaypoint (const Marble::GeoDataCoordinates& waypoint);
     QString                 instructionText () const;
     void                    setInstructionText (const QString& text);
     QString                 directionPixmap () const;
+    void                    setWaypoint (const Marble::GeoDataCoordinates& waypoint, int index);
+    int                     waypointIndex () const;
+    QString                 roadName () const;
+    void                    setRoadName (const QString& roadName);
+    bool                    operator == (const Marble::Maneuver& other) const;
+    bool                    operator != (const Marble::Maneuver& other) const;
 };
 };
diff --git a/src/bindings/python/sip/MarbleControlBox.sip b/src/bindings/python/sip/MarbleControlBox.sip
index b17e0a3..ab04ecf 100644
--- a/src/bindings/python/sip/MarbleControlBox.sip
+++ b/src/bindings/python/sip/MarbleControlBox.sip
@@ -46,6 +46,9 @@ signals:
 public:
     Marble::CurrentLocationWidget*  currentLocationWidget ();
     void                    setMarbleWidget (Marble::MarbleWidget* widget);
+    void                    search (const QString& searchTerm);
+signals:
+    void                    searchFinished ();
 };
 // MarbleControlBox
 
diff --git a/src/bindings/python/sip/MarbleGlobal.sip b/src/bindings/python/sip/MarbleGlobal.sip
new file mode 100644
index 0000000..3c6bb07
--- /dev/null
+++ b/src/bindings/python/sip/MarbleGlobal.sip
@@ -0,0 +1,189 @@
+//
+// Copyright 2008 Simon Edwards <simon@simonzone.com>
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either 
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public 
+// License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+//
+
+%ModuleHeaderCode
+#include <MarbleGlobal.h>
+%End
+
+
+namespace Marble
+{
+
+enum TessellationFlag
+{
+    NoTessellation,
+    Tessellate,
+    RespectLatitudeCircle,
+    FollowGround,
+    RotationIndicatesFill,
+    SkipLatLonNormalization
+};
+
+typedef QFlags<Marble::TessellationFlag> TessellationFlags;
+
+
+enum Projection
+{
+    Spherical,
+    Equirectangular,
+    Mercator
+};
+
+
+
+
+enum Dimension
+{
+    Latitude,
+    Longitude
+};
+
+typedef QFlags<Marble::Dimension> Dimensions;
+
+
+enum AngleUnit
+{
+    DMSDegree,
+    DecimalDegree,
+    UTM
+};
+
+
+enum ViewContext
+{
+    Still,
+    Animation
+};
+
+
+enum MapQuality
+{
+    OutlineQuality,
+    LowQuality,
+    NormalQuality,
+    HighQuality,
+    PrintQuality
+};
+
+
+enum GraphicsSystem
+{
+    NativeGraphics,
+    RasterGraphics,
+    OpenGLGraphics
+};
+
+
+enum LabelPositionFlag
+{
+    NoLabel,
+    LineStart,
+    LineCenter,
+    LineEnd,
+    IgnoreXMargin,
+    IgnoreYMargin
+};
+
+typedef QFlags<Marble::LabelPositionFlag> LabelPositionFlags;
+
+
+enum LabelLocalization
+{
+    CustomAndNative,
+    Custom,
+    Native
+};
+
+
+enum DragLocation
+{
+    KeepAxisVertically,
+    FollowMousePointer
+};
+
+
+enum OnStartup
+{
+    ShowHomeLocation,
+    LastLocationVisited
+};
+
+
+enum AltitudeMode
+{
+    ClampToGround,
+    RelativeToGround,
+    Absolute
+};
+
+
+enum Pole
+{
+    AnyPole,
+    NorthPole,
+    SouthPole
+};
+
+
+class MarbleGlobal
+{
+%TypeHeaderCode
+#include <MarbleGlobal.h>
+%End
+
+public:
+    static Marble::MarbleGlobal*  getInstance ();
+
+private:
+                            MarbleGlobal ();
+public:
+    ~MarbleGlobal ();
+//ig    MarbleLocale*           locale () const;
+    enum Profile
+    {
+        Default,
+        SmallScreen,
+        HighResolution
+    };
+    typedef QFlags<Marble::MarbleGlobal::Profile> Profiles;
+    Marble::MarbleGlobal::Profiles  profiles () const;
+    void                    setProfiles (Marble::MarbleGlobal::Profiles profiles);
+    static Marble::MarbleGlobal::Profiles  detectProfiles ();
+};
+// MarbleGlobal
+
+enum ProxyType
+{
+    HttpProxy,
+    Socks5Proxy
+};
+enum DownloadUsage
+{
+    DownloadBulk,
+    DownloadBrowse
+};
+enum FlyToMode
+{
+    Automatic,
+    Instant,
+    Linear,
+    Jump
+};
+};
+// Marble
+
+
diff --git a/src/bindings/python/sip/MarbleGraphicsItem.sip \
b/src/bindings/python/sip/MarbleGraphicsItem.sip index 0637e74..d0d839e 100644
--- a/src/bindings/python/sip/MarbleGraphicsItem.sip
+++ b/src/bindings/python/sip/MarbleGraphicsItem.sip
@@ -40,7 +40,7 @@ public:
 //ig                            MarbleGraphicsItem (MarbleGraphicsItemPrivate* d_ptr);
     QSizeF                  size () const;
     Marble::MarbleGraphicsItem::CacheMode  cacheMode () const;
-    void                    setCacheMode (Marble::MarbleGraphicsItem::CacheMode mode, const QSize& \
logicalCacheSize = QSize()); +    void                    setCacheMode \
(Marble::MarbleGraphicsItem::CacheMode mode);  
 protected:
     virtual bool            eventFilter (QObject* object, QEvent* e);
@@ -92,7 +92,6 @@ private:
 public:
     qreal                   zValue () const;
     void                    setZValue (qreal z);
-    virtual void            paintViewport (Marble::GeoPainter* painter, Marble::ViewportParams* \
viewport, const QString& renderPos, Marble::GeoSceneLayer* layer = 0);  };
 // MarbleGraphicsItem
 
diff --git a/src/bindings/python/sip/MarbleMap.sip b/src/bindings/python/sip/MarbleMap.sip
index 985d6d7..422a096 100644
--- a/src/bindings/python/sip/MarbleMap.sip
+++ b/src/bindings/python/sip/MarbleMap.sip
@@ -88,7 +88,6 @@ public:
     void                    notifyMouseClick (int x, int y);
     void                    clearVolatileTileCache ();
     void                    setVolatileTileCacheLimit (quint64 kiloBytes);
-    bool                    mapCoversViewport ();
     Marble::AngleUnit       defaultAngleUnit () const;
     void                    setDefaultAngleUnit (Marble::AngleUnit angleUnit);
     QFont                   defaultFont () const;
@@ -149,6 +148,8 @@ public:
     void                    setShowSunInZenith (bool visible);
 signals:
     void                    radiusChanged (int radius);
+public:
+//ig    const TextureLayer*     textureLayer () const;
 };
 // MarbleMap
 
diff --git a/src/bindings/python/sip/MarbleModel.sip b/src/bindings/python/sip/MarbleModel.sip
index 818e896..8483743 100644
--- a/src/bindings/python/sip/MarbleModel.sip
+++ b/src/bindings/python/sip/MarbleModel.sip
@@ -31,7 +31,7 @@ public:
     void                    removePlacemarkKey (const QString& key);
     qreal                   planetRadius () const;
     QString                 planetName () const;
-    const Marble::SunLocator*     sunLocator () const;
+    const Marble::SunLocator*  sunLocator () const;
 //ig    quint64                 volatileTileCacheLimit () const;
     const Marble::Planet*   planet () const;
     void                    clearPersistentTileCache ();
diff --git a/src/bindings/python/sip/MarbleRunnerManager.sip \
b/src/bindings/python/sip/MarbleRunnerManager.sip index a2d09c1..4f4e9b3 100644
--- a/src/bindings/python/sip/MarbleRunnerManager.sip
+++ b/src/bindings/python/sip/MarbleRunnerManager.sip
@@ -37,12 +37,22 @@ signals:
     void                    routeRetrieved (Marble::GeoDataDocument* route);
 public:
 //ig    explicit                MarbleRunnerManager (const PluginManager* pluginManager, QObject* parent \
                /TransferThis/ = 0);
-    void                    parseFile (const QString& fileName, Marble::DocumentRole role);
 //FIXME add QVector<GeoDataPlacemark*> support
 signals:
 //ig    void                    searchResultChanged (QVector<Marble::GeoDataPlacemark*> result);
     void                    parsingFinished (Marble::GeoDataDocument* document, const QString& error = \
QString());  public:
     void                    retrieveRoute (const Marble::RouteRequest* request);
+// FIXME
+//ig    QVector<Marble::GeoDataPlacemark*>  searchPlacemarks (const QString& searchTerm);
+    QString                 searchReverseGeocoding (const Marble::GeoDataCoordinates& coordinates);
+//ig    QVector<Marble::GeoDataDocument*>  searchRoute (const Marble::RouteRequest* request);
+    void                    parseFile (const QString& fileName, Marble::DocumentRole role = \
Marble::UserDocument); +    Marble::GeoDataDocument*  openFile (const QString& fileName, \
Marble::DocumentRole role = Marble::UserDocument); +signals:
+    void                    placemarkSearchFinished ();
+    void                    reverseGeocodingFinished ();
+    void                    routingFinished ();
+    void                    parsingFinished ();
 };
 };
diff --git a/src/bindings/python/sip/MarbleWidget.sip b/src/bindings/python/sip/MarbleWidget.sip
index 9f96274..6ce79a1 100644
--- a/src/bindings/python/sip/MarbleWidget.sip
+++ b/src/bindings/python/sip/MarbleWidget.sip
@@ -119,7 +119,7 @@ protected:
     void                    leaveEvent (QEvent* event);
     void                    paintEvent (QPaintEvent* event);
     virtual void            customPaint (Marble::GeoPainter* painter);
-    void                    resizeEvent (QResizeEvent*);
+    void                    resizeEvent (QResizeEvent* event);
     void                    connectNotify (const char* signal);
     void                    disconnectNotify (const char* signal);
 
@@ -186,6 +186,7 @@ public:
     void                    setFocusPoint (const Marble::GeoDataCoordinates& focusPoint);
     void                    resetFocusPoint ();
     Marble::MapQuality      mapQuality (Marble::ViewContext = Marble::Still) const;
+//ig    const TextureLayer*     textureLayer () const;
 };
 // MarbleWidget
 
diff --git a/src/bindings/python/sip/NavigationWidget.sip b/src/bindings/python/sip/NavigationWidget.sip
index 4b036cb..cdc4fd8 100644
--- a/src/bindings/python/sip/NavigationWidget.sip
+++ b/src/bindings/python/sip/NavigationWidget.sip
@@ -45,6 +45,8 @@ protected:
     void                    resizeEvent (QResizeEvent*);
 //FIXME
 public:
-//ig    void                    setLocations (QVector<Marble::GeoDataPlacemark*> locations);
+    void                    search (const QString& searchTerm);
+signals:
+    void                    searchFinished ();
 };
 };
diff --git a/src/bindings/python/sip/LayerInterface.sip b/src/bindings/python/sip/ParseRunnerPlugin.sip
similarity index 62%
copy from src/bindings/python/sip/LayerInterface.sip
copy to src/bindings/python/sip/ParseRunnerPlugin.sip
index 75c04d7..fa1b6b9 100644
--- a/src/bindings/python/sip/LayerInterface.sip
+++ b/src/bindings/python/sip/ParseRunnerPlugin.sip
@@ -1,4 +1,4 @@
-// Copyright 2010 Simon Edwards <simon@simonzone.com>
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
 
 //                 Generated by twine2
 
@@ -19,16 +19,18 @@
 
 namespace Marble
 {
-class LayerInterface
+class ParseRunnerPlugin : QObject, Marble::PluginInterface
 {
 %TypeHeaderCode
-#include <LayerInterface.h>
+#include <ParseRunnerPlugin.h>
 %End
 
 public:
-    virtual ~LayerInterface ();
-    virtual QStringList     renderPosition () const=0;
-    virtual bool            render (Marble::GeoPainter* painter, Marble::ViewportParams* viewport, const \
                QString& renderPos = "NONE", Marble::GeoSceneLayer* layer = 0)=0;
-    virtual qreal           zValue () const;
+    explicit                ParseRunnerPlugin (QObject* parent /TransferThis/ = 0);
+    virtual ~ParseRunnerPlugin ();
+    virtual QString         fileFormatDescription () const=0;
+    virtual QStringList     fileExtensions () const=0;
+    virtual Marble::MarbleAbstractRunner*  newRunner () const=0;
+    virtual QIcon           icon () const;
 };
 };
diff --git a/src/bindings/python/sip/PluginAboutDialog.sip \
b/src/bindings/python/sip/PluginAboutDialog.sip index 3d0f5e4..688a393 100644
--- a/src/bindings/python/sip/PluginAboutDialog.sip
+++ b/src/bindings/python/sip/PluginAboutDialog.sip
@@ -36,10 +36,10 @@ public:
     void                    setVersion (const QString& version);
     void                    setPixmap (const QPixmap& pixmap);
     void                    setAboutText (const QString& about);
-//ig    void                    setAuthors (const QList<Author>& authors);
     void                    setAuthorsText (const QString& authors);
     void                    setDataText (const QString& data);
     void                    setLicense (Marble::PluginAboutDialog::LicenseKey license);
     void                    setLicenseAgreementText (const QString& license);
+    void                    setAuthors (const QList<Marble::PluginAuthor>& authors);
 };
 };
diff --git a/src/bindings/python/sip/PluginInterface.sip b/src/bindings/python/sip/PluginInterface.sip
index 3754695..a251a28 100644
--- a/src/bindings/python/sip/PluginInterface.sip
+++ b/src/bindings/python/sip/PluginInterface.sip
@@ -29,18 +29,19 @@ class PluginInterface /Abstract/
 
 public:
     virtual QString         name () const=0;
-    virtual QString         guiString () const=0;
     virtual QString         nameId () const=0;
     virtual QString         description () const=0;
     virtual QIcon           icon () const=0;
-    virtual void            initialize ()=0;
-    virtual bool            isInitialized () const=0;
     virtual ~PluginInterface ();
 %ConvertToSubClassCode
     // CTSCC for subclasses of 'PluginInterface'
     sipType = NULL;
 
-    if (dynamic_cast<Marble::RenderPlugin*>(sipCpp))
+    if (dynamic_cast<Marble::ParseRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_ParseRunnerPlugin;
+    else if (dynamic_cast<Marble::PositionProviderPluginInterface*>(sipCpp))
+        sipType = sipType_Marble_PositionProviderPluginInterface;
+    else if (dynamic_cast<Marble::RenderPlugin*>(sipCpp))
         {
         sipType = sipType_Marble_RenderPlugin;
         if (dynamic_cast<Marble::AbstractDataPlugin*>(sipCpp))
@@ -48,12 +49,28 @@ public:
         else if (dynamic_cast<Marble::AbstractFloatItem*>(sipCpp))
             sipType = sipType_Marble_AbstractFloatItem;
         }
-    else if (dynamic_cast<Marble::RunnerPlugin*>(sipCpp))
-        sipType = sipType_Marble_RunnerPlugin;
+    else if (dynamic_cast<Marble::ReverseGeocodingRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_ReverseGeocodingRunnerPlugin;
+    else if (dynamic_cast<Marble::RoutingRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_RoutingRunnerPlugin;
+    else if (dynamic_cast<Marble::SearchRunnerPlugin*>(sipCpp))
+        sipType = sipType_Marble_SearchRunnerPlugin;
 %End
+    virtual QString         version () const=0;
+    virtual QString         copyrightYears () const=0;
+    virtual QList<Marble::PluginAuthor>  pluginAuthors () const=0;
+    virtual QString         aboutDataText () const;
 };
 // PluginInterface
 
+class PluginAuthor
+{
+%TypeHeaderCode
+#include <PluginInterface.h>
+%End
+
+                            PluginAuthor (const QString& name_, const QString& email_, const QString& \
task_ = QObject::tr("Developer")); +};
 };
 // Marble
 
@@ -62,7 +79,11 @@ public:
 //ctscc
 #include <AbstractDataPlugin.h>
 #include <AbstractFloatItem.h>
+#include <ParseRunnerPlugin.h>
 #include <PluginInterface.h>
+#include <PositionProviderPluginInterface.h>
 #include <RenderPlugin.h>
-#include <RunnerPlugin.h>
+#include <ReverseGeocodingRunnerPlugin.h>
+#include <RoutingRunnerPlugin.h>
+#include <SearchRunnerPlugin.h>
 %End
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip \
b/src/bindings/python/sip/PositionProviderPluginInterface.sip similarity index 51%
copy from src/bindings/python/sip/GeoGraphicsScene.sip
copy to src/bindings/python/sip/PositionProviderPluginInterface.sip
index 1adf1a7..7aaa2da 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/PositionProviderPluginInterface.sip
@@ -19,20 +19,29 @@
 
 namespace Marble
 {
-class GeoGraphicsScene : QObject
+enum PositionProviderStatus
+{
+    PositionProviderStatusError,
+    PositionProviderStatusUnavailable,
+    PositionProviderStatusAcquiring,
+    PositionProviderStatusAvailable
+};
+class PositionProviderPluginInterface : Marble::PluginInterface
 {
 %TypeHeaderCode
-#include <GeoGraphicsScene.h>
+#include <PositionProviderPluginInterface.h>
 %End
 
 public:
-                            GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
-    ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
-    void                    removeItem (Marble::GeoGraphicsItem* item);
-    void                    clear ();
-    QList<Marble::GeoGraphicsItem*>  items () const;
-    QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
                const;
-    static int s_tileZoomLevel;
+    virtual ~PositionProviderPluginInterface ();
+    virtual void            initialize ()=0;
+    virtual bool            isInitialized () const=0;
+    virtual Marble::PositionProviderStatus  status () const=0;
+    virtual Marble::GeoDataCoordinates  position () const=0;
+    virtual Marble::GeoDataAccuracy  accuracy () const=0;
+    virtual qreal           speed () const=0;
+    virtual qreal           direction () const=0;
+    virtual QDateTime       timestamp () const=0;
+    virtual QString         error () const;
 };
 };
diff --git a/src/bindings/python/sip/PositionTracking.sip b/src/bindings/python/sip/PositionTracking.sip
index 8186f1e..ca7c227 100644
--- a/src/bindings/python/sip/PositionTracking.sip
+++ b/src/bindings/python/sip/PositionTracking.sip
@@ -40,11 +40,14 @@ public:
     void                    clearTrack ();
 signals:
     void                    gpsLocation (Marble::GeoDataCoordinates, qreal);
-//ig    void                    statusChanged (PositionProviderStatus status);
 //ig    void                    positionProviderPluginChanged (PositionProviderPlugin* activePlugin);
 public:
     bool                    isTrackEmpty () const;
     bool                    saveTrack (QString& fileName);
-//ig    explicit                PositionTracking (GeoDataTreeModel* model);
+    explicit                PositionTracking (Marble::GeoDataTreeModel* model);
+    QDateTime               timestamp () const;
+    qreal                   length (qreal planetRadius) const;
+signals:
+    void                    statusChanged (Marble::PositionProviderStatus status);
 };
 };
diff --git a/src/bindings/python/sip/RenderPlugin.sip b/src/bindings/python/sip/RenderPlugin.sip
index f7eade7..a79891b 100644
--- a/src/bindings/python/sip/RenderPlugin.sip
+++ b/src/bindings/python/sip/RenderPlugin.sip
@@ -28,7 +28,6 @@ class RenderPlugin : QObject, Marble::RenderPluginInterface /Abstract/
 %End
 
 public:
-                            RenderPlugin ();
     QAction*                action () const;
     void                    applyItemState ();
     void                    retrieveItemState ();
@@ -45,7 +44,6 @@ public:
     enum ItemDataRole
     {
         NameId,
-        AboutDialogAvailable,
         ConfigurationDialogAvailable,
         BackendTypes
     };
@@ -53,9 +51,7 @@ public:
     virtual QList<QActionGroup*>*  actionGroups () const;
     virtual QList<QActionGroup*>*  toolbarActionGroups () const;
     virtual QHash<QString,QVariant>  settings () const;
-    virtual void            setSettings (QHash<QString,QVariant> settings);
 signals:
-    void                    visibilityChanged (QString nameId, bool visible);
     void                    settingsChanged (QString nameId);
     void                    actionGroupsChanged ();
 public:
@@ -66,14 +62,18 @@ public:
     };
     virtual Marble::RenderPlugin::RenderType  renderType () const;
     const Marble::MarbleModel*  marbleModel () const;
-    void                    setMarbleModel (const Marble::MarbleModel*);
     QStandardItem*          item ();
-    virtual QDialog*        aboutDialog ();
-    virtual QDialog*        configDialog ();
     void                    restoreDefaultSettings ();
 signals:
     void                    repaintNeeded (QRegion dirtyRegion = QRegion());
     void                    enabledChanged (bool enable);
+public:
+                            RenderPlugin (const Marble::MarbleModel* marbleModel);
+    virtual QString         guiString () const=0;
+    virtual Marble::RenderPlugin*  newInstance (const Marble::MarbleModel* marbleModel) const=0;
+    virtual void            setSettings (const QHash<QString,QVariant>& settings);
+signals:
+    void                    visibilityChanged (bool visible, const QString& nameId);
 };
 // RenderPlugin
 
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip \
b/src/bindings/python/sip/ReverseGeocodingRunnerPlugin.sip similarity index 52%
copy from src/bindings/python/sip/GeoGraphicsScene.sip
copy to src/bindings/python/sip/ReverseGeocodingRunnerPlugin.sip
index 1adf1a7..751fe55 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/ReverseGeocodingRunnerPlugin.sip
@@ -19,20 +19,23 @@
 
 namespace Marble
 {
-class GeoGraphicsScene : QObject
+class ReverseGeocodingRunnerPlugin : QObject, Marble::PluginInterface
 {
 %TypeHeaderCode
-#include <GeoGraphicsScene.h>
+#include <ReverseGeocodingRunnerPlugin.h>
 %End
 
 public:
-                            GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
-    ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
-    void                    removeItem (Marble::GeoGraphicsItem* item);
-    void                    clear ();
-    QList<Marble::GeoGraphicsItem*>  items () const;
-    QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
                const;
-    static int s_tileZoomLevel;
+    explicit                ReverseGeocodingRunnerPlugin (QObject* parent /TransferThis/ = 0);
+    virtual ~ReverseGeocodingRunnerPlugin ();
+    virtual QString         guiString () const=0;
+    virtual Marble::MarbleAbstractRunner*  newRunner () const=0;
+    bool                    supportsCelestialBody (const QString& celestialBodyId) const;
+    bool                    canWorkOffline () const;
+    virtual bool            canWork () const;
+    virtual QIcon           icon () const;
+protected:
+    void                    setSupportedCelestialBodies (const QStringList& celestialBodies);
+    void                    setCanWorkOffline (bool canWorkOffline);
 };
 };
diff --git a/src/bindings/python/sip/RouteRequest.sip b/src/bindings/python/sip/RouteRequest.sip
index afffa61..ec6ca21 100644
--- a/src/bindings/python/sip/RouteRequest.sip
+++ b/src/bindings/python/sip/RouteRequest.sip
@@ -32,13 +32,10 @@ public:
     Marble::GeoDataCoordinates  destination () const;
     int                     size () const;
     Marble::GeoDataCoordinates  at (int index) const;
-    void                    append (const Marble::GeoDataCoordinates& coordinates, const QString& name);
-    void                    insert (int index, const Marble::GeoDataCoordinates& coordinates, const \
                QString& name);
-    void                    setPosition (int index, const Marble::GeoDataCoordinates& position, const \
QString& name);  void                    remove (int index);
     void                    clear ();
     void                    addVia (const Marble::GeoDataCoordinates& position);
-    QPixmap                 pixmap (int index) const;
+    QPixmap                 pixmap (int index, int size = -1, int margin = 2) const;
     void                    setName (int index, const QString& name);
     QString                 name (int index) const;
     void                    setVisited (int index, bool visited);
@@ -51,5 +48,9 @@ signals:
     void                    positionAdded (int index);
     void                    positionRemoved (int index);
     void                    routingProfileChanged ();
+public:
+    void                    append (const Marble::GeoDataCoordinates& coordinates, const QString& name = \
QString()); +    void                    insert (int index, const Marble::GeoDataCoordinates& \
coordinates, const QString& name = QString()); +    void                    setPosition (int index, const \
Marble::GeoDataCoordinates& position, const QString& name = QString());  };
 };
diff --git a/src/bindings/python/sip/RouteSegment.sip b/src/bindings/python/sip/RouteSegment.sip
index 4455ec7..71f31f1 100644
--- a/src/bindings/python/sip/RouteSegment.sip
+++ b/src/bindings/python/sip/RouteSegment.sip
@@ -40,5 +40,7 @@ public:
     void                    setNextRouteSegment (const Marble::RouteSegment* segment);
     qreal                   distanceTo (const Marble::GeoDataCoordinates& point, \
                Marble::GeoDataCoordinates& closest, Marble::GeoDataCoordinates& interpolated) const;
     qreal                   minimalDistanceTo (const Marble::GeoDataCoordinates& point) const;
+    bool                    operator == (const Marble::RouteSegment& other) const;
+    bool                    operator != (const Marble::RouteSegment& other) const;
 };
 };
diff --git a/src/bindings/python/sip/RoutingModel.sip b/src/bindings/python/sip/RoutingModel.sip
index 97541bc..1da2865 100644
--- a/src/bindings/python/sip/RoutingModel.sip
+++ b/src/bindings/python/sip/RoutingModel.sip
@@ -40,7 +40,6 @@ public:
     QVariant                data (const QModelIndex& index, int role = Qt::DisplayRole) const;
     void                    exportGpx (QIODevice* device) const;
     void                    clear ();
-    int                     rightNeighbor (const Marble::GeoDataCoordinates& position, const \
Marble::RouteRequest* route) const;  bool                    deviatedFromRoute () const;
     const Marble::Route&    route () const;
     bool                    setCurrentRoute (Marble::GeoDataDocument* document);
@@ -49,5 +48,7 @@ signals:
     void                    positionChanged ();
     void                    deviatedFromRoute (bool deviated);
     void                    currentRouteChanged ();
+public:
+    int                     rightNeighbor (const Marble::GeoDataCoordinates& position, const \
Marble::RouteRequest* route) const;  };
 };
diff --git a/src/bindings/python/sip/RoutingRunnerPlugin.sip \
b/src/bindings/python/sip/RoutingRunnerPlugin.sip new file mode 100644
index 0000000..82e3954
--- /dev/null
+++ b/src/bindings/python/sip/RoutingRunnerPlugin.sip
@@ -0,0 +1,46 @@
+// Copyright 2011 Simon Edwards <simon@simonzone.com>
+
+//                 Generated by twine2
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU Library General Public License as
+// published by the Free Software Foundation; either version 2, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details
+
+// You should have received a copy of the GNU Library General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+namespace Marble
+{
+class RoutingRunnerPlugin : QObject, Marble::PluginInterface
+{
+%TypeHeaderCode
+#include <RoutingRunnerPlugin.h>
+%End
+
+public:
+    explicit                RoutingRunnerPlugin (QObject* parent /TransferThis/ = 0);
+    virtual ~RoutingRunnerPlugin ();
+    virtual QString         guiString () const=0;
+    virtual Marble::MarbleAbstractRunner*  newRunner () const=0;
+    bool                    supportsCelestialBody (const QString& celestialBodyId) const;
+    bool                    canWorkOffline () const;
+    virtual bool            canWork () const;
+    virtual QIcon           icon () const;
+    QString                 statusMessage () const;
+//ig    virtual ConfigWidget*   configWidget ();
+//ig    virtual bool            supportsTemplate (RoutingProfilesModel::ProfileTemplate profileTemplate) \
const; +//ig    virtual QHash<QString,QVariant>  templateSettings (RoutingProfilesModel::ProfileTemplate \
profileTemplate) const; +protected:
+    void                    setStatusMessage (const QString& message);
+    void                    setSupportedCelestialBodies (const QStringList& celestialBodies);
+    void                    setCanWorkOffline (bool canWorkOffline);
+};
+};
diff --git a/src/bindings/python/sip/RunnerPlugin.sip b/src/bindings/python/sip/RunnerPlugin.sip
deleted file mode 100644
index 8df4762..0000000
--- a/src/bindings/python/sip/RunnerPlugin.sip
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2010 Simon Edwards <simon@simonzone.com>
-
-//                 Generated by twine2
-
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU Library General Public License as
-// published by the Free Software Foundation; either version 2, or
-// (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details
-
-// You should have received a copy of the GNU Library General Public
-// License along with this program; if not, write to the
-// Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-
-namespace Marble
-{
-class RunnerPlugin : QObject, Marble::PluginInterface
-{
-%TypeHeaderCode
-#include <RunnerPlugin.h>
-%End
-
-public:
-    enum Capability
-    {
-        None,
-        Search,
-        ReverseGeocoding,
-        Routing,
-        Parsing
-    };
-    typedef QFlags<Marble::RunnerPlugin::Capability> Capabilities;
-    virtual Marble::MarbleAbstractRunner*  newRunner () const=0;
-    explicit                RunnerPlugin (QObject* parent /TransferThis/ = 0);
-    virtual ~RunnerPlugin ();
-    Marble::RunnerPlugin::Capabilities  capabilities () const;
-    bool                    supports (Marble::RunnerPlugin::Capability capability) const;
-    bool                    supportsCelestialBody (const QString& celestialBodyId) const;
-    bool                    canWorkOffline () const;
-    virtual QString         name () const;
-    virtual QString         guiString () const;
-    virtual QString         nameId () const;
-    virtual QString         description () const;
-    virtual QIcon           icon () const;
-    virtual void            initialize ();
-    virtual bool            isInitialized () const;
-//ig    virtual ConfigWidget*   configWidget ();
-//ig    virtual bool            supportsTemplate (RoutingProfilesModel::ProfileTemplate profileTemplate) \
                const;
-//ig    virtual QHash<QString,QVariant>  templateSettings (RoutingProfilesModel::ProfileTemplate \
                profileTemplate) const;
-protected:
-    void                    setCapabilities (Marble::RunnerPlugin::Capabilities capabilities);
-    void                    setSupportedCelestialBodies (const QStringList& celestialBodies);
-    void                    setCanWorkOffline (bool canWorkOffline);
-    void                    setName (const QString& name);
-    void                    setGuiString (const QString& guiString);
-    void                    setNameId (const QString& nameId);
-    void                    setDescription (const QString& description);
-    void                    setIcon (const QIcon& icon);
-public:
-    virtual bool            canWork (Marble::RunnerPlugin::Capability capability) const;
-    QString                 statusMessage () const;
-protected:
-    void                    setStatusMessage (const QString& message);
-};
-};
diff --git a/src/bindings/python/sip/GeoGraphicsScene.sip \
b/src/bindings/python/sip/SearchRunnerPlugin.sip similarity index 54%
copy from src/bindings/python/sip/GeoGraphicsScene.sip
copy to src/bindings/python/sip/SearchRunnerPlugin.sip
index 1adf1a7..090ed26 100644
--- a/src/bindings/python/sip/GeoGraphicsScene.sip
+++ b/src/bindings/python/sip/SearchRunnerPlugin.sip
@@ -19,20 +19,23 @@
 
 namespace Marble
 {
-class GeoGraphicsScene : QObject
+class SearchRunnerPlugin : QObject, Marble::PluginInterface
 {
 %TypeHeaderCode
-#include <GeoGraphicsScene.h>
+#include <SearchRunnerPlugin.h>
 %End
 
 public:
-                            GeoGraphicsScene (QObject* parent /TransferThis/ = 0);
-    ~GeoGraphicsScene ();
-    void                    addIdem (Marble::GeoGraphicsItem* item);
-    void                    removeItem (Marble::GeoGraphicsItem* item);
-    void                    clear ();
-    QList<Marble::GeoGraphicsItem*>  items () const;
-    QList<Marble::GeoGraphicsItem*>  items (const Marble::GeoDataLatLonAltBox& box, int maxZoomLevel) \
                const;
-    static int s_tileZoomLevel;
+    explicit                SearchRunnerPlugin (QObject* parent /TransferThis/ = 0);
+    virtual ~SearchRunnerPlugin ();
+    virtual QString         guiString () const=0;
+    virtual Marble::MarbleAbstractRunner*  newRunner () const=0;
+    bool                    supportsCelestialBody (const QString& celestialBodyId) const;
+    bool                    canWorkOffline () const;
+    virtual bool            canWork () const;
+    virtual QIcon           icon () const;
+protected:
+    void                    setSupportedCelestialBodies (const QStringList& celestialBodies);
+    void                    setCanWorkOffline (bool canWorkOffline);
 };
 };
diff --git a/src/bindings/python/sip/Serializable.sip b/src/bindings/python/sip/Serializable.sip
index ede7244..47976fb 100644
--- a/src/bindings/python/sip/Serializable.sip
+++ b/src/bindings/python/sip/Serializable.sip
@@ -15,7 +15,8 @@
 // License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 //
 
-
+namespace Marble
+{
 class Serializable
 {
 %TypeHeaderCode
@@ -29,6 +30,10 @@ public:
 // Serializable
 
 
+
+
+
+
 enum EnumFeatureId
 {
     InvalidFeatureId,
@@ -39,8 +44,6 @@ enum EnumFeatureId
     GeoDataScreenOverlayId,
     GeoDataGroundOverlayId
 };
-
-
 enum EnumGeometryId
 {
     InvalidGeometryId,
@@ -52,5 +55,4 @@ enum EnumGeometryId
     GeoDataModelId,
     GeoDataTrackId
 };
-
-
+};
diff --git a/src/bindings/python/sip/ViewportParams.sip b/src/bindings/python/sip/ViewportParams.sip
index 67c58e9..a4bed25 100644
--- a/src/bindings/python/sip/ViewportParams.sip
+++ b/src/bindings/python/sip/ViewportParams.sip
@@ -35,7 +35,7 @@ public:
     bool                    resolves (const Marble::GeoDataLatLonBox& latLonBox) const;
     bool                    resolves (const Marble::GeoDataCoordinates& coord1, const \
Marble::GeoDataCoordinates& coord2) const;  int                     radius () const;
-    void                    setRadius (int newRadius);
+    void                    setRadius (int radius);
     bool                    globeCoversViewport () const;
     Marble::Quaternion      planetAxis () const;
     int                     width () const;
@@ -72,6 +72,11 @@ public:
     bool                    geoCoordinates (const int x, const int y, qreal& lon, qreal& lat, \
Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Degree) const;  QPainterPath          \
mapShape () const;  QRegion                 mapRegion () const;
+
+//ig    bool                    screenCoordinates (const Marble::GeoDataCoordinates& geopoint, qreal& x, \
qreal& y) const; +//ig    bool                    screenCoordinates (const Marble::GeoDataCoordinates& \
coordinates, qreal* x, qreal& y, int& pointRepeatNum, bool& globeHidesPoint) const; +    bool             \
screenCoordinates (const Marble::GeoDataCoordinates& coordinates, qreal* x, qreal& y, int& \
pointRepeatNum, const QSizeF& size, bool& globeHidesPoint) const; +//ig    bool                    \
screenCoordinates (const Marble::GeoDataLineString& lineString, QVector<QPolygonF*>& polygons) const;  };
 // ViewportParams
 
diff --git a/src/bindings/python/sip/marblemod.sip b/src/bindings/python/sip/marblemod.sip
index 8cb2d9c..1571216 100644
--- a/src/bindings/python/sip/marblemod.sip
+++ b/src/bindings/python/sip/marblemod.sip
@@ -37,10 +37,12 @@
 %Include AbstractMarbleGraphicsLayout.sip
 %Include AbstractProjection.sip
 %Include AbstractWorkerThread.sip
-%Include AlternativeRoutesModel.sip
+%Include AutoNavigation.sip
 %Include BookmarkManager.sip
 %Include ClipPainter.sip
 %Include CurrentLocationWidget.sip
+%Include DialogConfigurationInterface.sip
+%Include DownloadRegion.sip
 %Include DownloadRegionDialog.sip
 %Include ElevationModel.sip
 %Include FileViewWidget.sip
@@ -54,6 +56,7 @@
 %Include GeoDataFeature.sip
 %Include GeoDataFolder.sip
 %Include GeoDataGeometry.sip
+%Include GeoDataGroundOverlay.sip
 %Include GeoDataHotSpot.sip
 %Include GeoDataIconStyle.sip
 %Include GeoDataLabelStyle.sip
@@ -66,6 +69,7 @@
 %Include GeoDataLookAt.sip
 %Include GeoDataMultiGeometry.sip
 %Include GeoDataObject.sip
+%Include GeoDataOverlay.sip
 %Include GeoDataPlacemark.sip
 %Include GeoDataPoint.sip
 %Include GeoDataPolyStyle.sip
@@ -74,16 +78,18 @@
 %Include GeoDataStyle.sip
 %Include GeoDataStyleMap.sip
 %Include GeoDataStyleSelector.sip
+%Include GeoDataTrack.sip
+%Include GeoDataTreeModel.sip
 %Include GeoDocument.sip
 %Include GeoGraphicsItem.sip
 %Include GeoGraphicsScene.sip
 %Include GeoPainter.sip
+%Include GeoWriter.sip
 %Include LabelGraphicsItem.sip
 %Include LatLonBoxWidget.sip
 %Include LatLonEdit.sip
 %Include LayerInterface.sip
 %Include LegendWidget.sip
-%Include Maneuver.sip
 %Include MapThemeManager.sip
 %Include MapViewWidget.sip
 %Include MapWizard.sip
@@ -91,6 +97,7 @@
 %Include MarbleAbstractRunner.sip
 %Include MarbleControlBox.sip
 %Include MarbleDirs.sip
+%Include MarbleGlobal.sip
 %Include MarbleGraphicsGridLayout.sip
 %Include MarbleGraphicsItem.sip
 %Include MarbleMap.sip
@@ -99,22 +106,21 @@
 %Include MarbleRunnerManager.sip
 %Include MarbleWidget.sip
 %Include NavigationWidget.sip
+%Include ParseRunnerPlugin.sip
 %Include Planet.sip
 %Include PluginAboutDialog.sip
 %Include PluginInterface.sip
+%Include PositionProviderPluginInterface.sip
 %Include PositionTracking.sip
 %Include QtMarbleConfigDialog.sip
 %Include Quaternion.sip
 %Include Quaternion.sip
 %Include RenderPlugin.sip
 %Include RenderPluginInterface.sip
-%Include Route.sip
-%Include RouteRequest.sip
-%Include RouteSegment.sip
-%Include RoutingModel.sip
-%Include RoutingProfile.sip
-%Include RunnerPlugin.sip
+%Include ReverseGeocodingRunnerPlugin.sip
+%Include RoutingRunnerPlugin.sip
 %Include ScreenGraphicsItem.sip
+%Include SearchRunnerPlugin.sip
 %Include Serializable.sip
 %Include SunLocator.sip
 %Include TileCoordsPyramid.sip
@@ -123,4 +129,10 @@
 %Include TinyWebBrowser.sip
 %Include ViewportParams.sip
 %Include WidgetGraphicsItem.sip
-%Include global.sip
+%Include AlternativeRoutesModel.sip
+%Include Maneuver.sip
+%Include Route.sip
+%Include RouteRequest.sip
+%Include RouteSegment.sip
+%Include RoutingModel.sip
+%Include RoutingProfile.sip


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic