Marble/ModelView: Difference between revisions

From KDE TechBase
No edit summary
(Page moved to community wiki)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== ModelView framework in Marble ==
{{ Moved To Community }}
 
Marble uses Qt's Model/View framework as a way to signal updates in a model to interested parts. In that respect, a Model class can wrap any possible data.
 
Here is the list of Model classes, and a description of how they are used.
 
=== QAbstractItemModel ===
* {{class|GeoDataDebugModel|kdeedu|4.x}}
It represents the tree of {{class|GeoDataObject|kdeedu|4.x}} elements corresponding to a {{class|GeoDataDocument|kdeedu|4.x}}.
 
It is used by the {{class|DataViewPlugin|kdeedu|4.x}} debug plugin (and is broken atm).
 
* {{class|GpxFileModel|kdeedu|4.x}}
It represents a list of gpx data files represented as {{class|GpxFile|kdeedu|4.x}}
 
This was originally intended to but used as the model for the File List View ( which is accessible by running marble with --enableFileView ) but has since been replaced by the FileViewModel.
 
The model is used as a member in the GpsLayer to hold the list of gpx files as a collection class and is deprecated. This, along with the whole current GPX implementation, needs to be removed and updated to the current concepts in Marble. See [[Projects/Marble/GPXStatus|Gpx Status]]
 
* {{class|MarbleGeometryModel|kdeedu|4.x}}
It represents the {{class|GeoDataGeometry|kdeedu}} and the {{class|GeoDataFeature|kdeedu|4.x}} items of the last opened {{class|GeoDataDocument|kdeedu|4.x}}.
 
It is used by the {{class|GeoRenderPlugin|kdeedu|4.x}} to access the list of vector data and draw it.
 
=== QAbstractListModel ===
* {{class|FileViewModel|kdeedu|4.x}}
It represents the list of opened files. The {{class|FileManager|kdeedu|4.x}} signals it about the documents it opens or closes.
 
It is used by the {{class|FileViewFloatItem|kdeedu|4.x}} and by a List widget in the {{class|MarbleControlBox|kdeedu|4.X}}.
 
* {{class|MarbleGeoDataModel|kdeedu|4.x}}
It represents a list of {{class|GeoDataDocuments|kdeedu|4.x}}. Only the {{class|PlacemarksPlugin|kdeedu|4.x}} uses it.
 
It is used by no other code.
 
* {{class|MarblePlacemarkModel|kdeedu|4.x}}
It represents a list of Placemarks.
 
The {{class|PlaceMarkManager|kdeedu|4.x}} appends all the placemarks contained in the {{class|GeoDataDocument|kdeedu|4.x}} it knows about in its instance.
 
The {{class|MarbleRunnerManager|kdeedu|4.x}} appends the list of placemarks that the Runners found in its instance.
 
It is used by the {{class|MarbleControlBox|kdeedu|4.X}} to provide a list of placemarks (either from the PlacemarkManager or from the MarbleRunnerManager).
 
It is also used by the {{class|PlacemarkLayout|kdeedu|4.x}} to determine layouting on the map.

Latest revision as of 04:46, 26 October 2016

This page is now on the community wiki.