The .sip files for the Python bindings have quite a lot of commented methods which are then lacking in the Marble Python API. See e.g. http://mail.kde.org/pipermail/marble-devel/2013-January/003889.html What do we need to do to cover more functionality in the bindings? Simon, can you explain the blockers there a bit? My binding generation knowledge is still in its infancy.
Do the Python bindings build for you at all in 4.11? Last we tried in Fedora, there were several build errors (apparently due to Marble API changes), I tried fixing the error that we had first in the build.log, but that only exposed more errors.
No, they're not building yet. But I think that Simon has plans to update them.
The bindings do not build in the 4.11.0 pre-release tarballs on Gentoo either. Please fix if in any way possible before the release.
@Kevin, Andreas: Simon just pushed updated bindings to the KDE/4.11 branch which compile fine here. Thanks :-)
Created attachment 83710 [details] Example Test File In this file you can see that the floatItems returned from `marble.floatItems()` are of type AbstractFloatItem, and in the example, the compass is not a CompassFloatItem. This is most likely because the class hasn't been ported (it is not in the documentation class list: `src/bindings/python/html/marble/Marble.html`)
Also you can see that although the function `marble.setShowScaleBar(False)` runs, the scale bar is still present in the application.
`MarbleWidget.setZoom(int zoom)` and the now deprecated `MarbleWidget.zoomView(int zoom)` do not function correctly (both zoom to the outermost level) also the `MarbleWidget.zoomIn()` and `MarbleWidget.zoomOut()` do not work. Therefore there does not appear to be a way to set the zoom to a certain level from the Python API.
(In reply to comment #7) > `MarbleWidget.setZoom(int zoom)` and the now deprecated > `MarbleWidget.zoomView(int zoom)` do not function correctly (both zoom to > the outermost level) also the `MarbleWidget.zoomIn()` and > `MarbleWidget.zoomOut()` do not work. Therefore there does not appear to be > a way to set the zoom to a certain level from the Python API. As I have found when developing the third tutorial, `MarbleWidget.setZoom(int zoom)` works great. But it was very unclear (not on the docs for setZoom) that 1000-2400 is a sensible range. I was trying values close to zero and it just wan't working.
(In reply to comment #7) > `MarbleWidget.setZoom(int zoom)` and the now deprecated > `MarbleWidget.zoomView(int zoom)` do not function correctly (both zoom to > the outermost level) also the `MarbleWidget.zoomIn()` and > `MarbleWidget.zoomOut()` do not work. Therefore there does not appear to be > a way to set the zoom to a certain level from the Python API. Also `MarbleWidget.zoomIn()` and `MarbleWidget.zoomOut()` also work. It just must be set to a sensible value at first (e.g. `MarbleWidget.setZoom(1200)`)
Thank you for the bug report. As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists. If this bug is no longer persisting or relevant please change the status to resolved.