Marble/ModelView: Difference between revisions

From KDE TechBase
No edit summary
(Page moved to community wiki)
 
(6 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 to a model to interested parts. In that respect, a Model class can wrap any possible data.
 
Here is the list of Model class, and a description of how they are used.
 
=== QAbstractItemModel ===
* {{class|GeoDataDebugModel|kdeedu|4.x}}
It represents a data file, parsed into a {{class|GeoDataDocument|kdeedu|4.x}} tree structure.
 
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 file 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 that is in the GpsLayer is currently only being used 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 to draw it.
 
=== QAbstractListModel ===
* {{class|FileViewModel|kdeedu|4.x}}
It represents the list of opened files. The {{class|PlacemarkManager|kdeedu|4.x}} appends the documents it opens, and the {{class|MarbleWidget|kdeedu}} appends the gpx files it opens.
 
It is used by the {{class|FileViewFloatItem|kdeedu|4.x}} and manipulated by the {{class|PlaceMarkManager|kdeedu|4.x}} and the {{class|MarbleModel|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 the list of all Placemarks of all opened kml files. the {{class|PlaceMarkManager|kdeedu|4.x}} appends all the placemarks after reading a file.
 
It is used by the {{class|MarbleControlBox|kdeedu|4.X}} to provide the list of placemarks to search for, and 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.