-
-
Notifications
You must be signed in to change notification settings - Fork 73
Mobile GUI GSoC 2012
The aim of this project is to create a new GUI for QGIS with basic functionality for using on small touch-screen Android devices.
You can get more information from my GSoC proposal
Here is the expected result attachment:qgis_mockups.tar.gz
There are some bugs and TODOs below.
The app is developed with Qt Quick, and QGIS core of course.
There are two parts, the GUI and some C++ classes that use QGIS core.
- The GUI is made completely with QML and consists of dialogs, buttons, text fields, animations, etc.
- The C++ part do the actual work: adding layers, creating spatialite databases, the map tools, etc. This part is based STRONGLY on the desktop QGIS app, even there are some copied files with only a couple of modified lines.
Each part is isolated, but the Qt Quick runtime environment provides bindings that allows to expose data from C++ to QML and viceversa. You can read some useful documentation here:
Extending QML
Binding QML and C++
Due to inactivity the project is now at mbernasocchi’s Github
OLD: The project is hosted on Github. All the code related with the mobile app is in src/mobileapp/
Render the current visible layers. I use QgsMapCanvas and expose it to QML through QGraphicsProxy.
On this page you can:
- Zoom and pan the map using gestures.
- Select a tool to edit the features.
- Use the GPS for adding features.
Show the list of loaded layers using a ListView on QML. A ListModel is needed, so I implemented a QAbstractListModel that have a reference to the loaded layers and a reference to the map canvas.
On this page you can:
- Add and delete layers.
- Enable/disable visibility and editing of a layer.
Todo
- Reorder layers.
- Custom form support (QML forms?).
- Style for message boxes.
- Use a declarative extension to add custom QML types and exposed Qgis classes.