Marble/ModelView: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 14: Line 14:
It represents a list of gpx data file represented as {{class|GpxFile|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 another, more centralised, File Model. This new File Model is located in {{class|PlacemarkManager|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]]
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}}
* {{class|MarbleGeometryModel|kdeedu|4.x}}
It represents the {{class|GeoDataGeometry|kdeedu}} and the {{class|GeoDataFeature|kdeedu|4.x}} items of the {{class|GeoDataDocument|kdeedu|4.x}} which contains all Placemarks.
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 placemarks.
It is used by the {{class|GeoRenderPlugin|kdeedu|4.x}} to access the list of vector data to draw it.


=== QAbstractListModel ===
=== QAbstractListModel ===
* {{class|FileViewModel|kdeedu|4.x}}
* {{class|FileViewModel|kdeedu|4.x}}
It represents the list of files opened. The {{class|PlacemarkManager|kdeedu|4.x}} appends the documents it opens, and the {{class|MarbleWidget|kdeedu}} appends the gpx files it opens.
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}}.
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}}.
Line 34: Line 35:


* {{class|MarblePlacemarkModel|kdeedu|4.x}}
* {{class|MarblePlacemarkModel|kdeedu|4.x}}
It represents
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
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.

Revision as of 22:02, 31 July 2009

ModelView framework in Marble

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

It represents a data file, parsed into a GeoDataDocument tree structure.

It is used by the DataViewPlugin debug plugin (and is broken atm)

It represents a list of gpx data file represented as GpxFile

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 Gpx Status

It represents the GeoDataGeometry and the GeoDataFeature items of the last opened GeoDataDocument.

It is used by the GeoRenderPlugin to access the list of vector data to draw it.

QAbstractListModel

It represents the list of opened files. The PlacemarkManager appends the documents it opens, and the MarbleWidget appends the gpx files it opens.

It is used by the FileViewFloatItem and manipulated by the PlaceMarkManager and the MarbleModel.

It represents a list of GeoDataDocuments. Only the PlacemarksPlugin uses it

It is used by no other code.

It represents the list of all Placemarks of all opened kml files. the PlaceMarkManager appends all the placemarks after reading a file.

It is used by the MarbleControlBox to provide the list of placemarks to search for, and by the PlacemarkLayout to determine layouting on the map.