Marble/ModelView: Difference between revisions

    From KDE TechBase
    No edit summary
    No edit summary
    Line 1: Line 1:
    == ModelView framework in Marble ==
    == 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.
    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 class, and a description of how they are used.
    Here is the list of Model classes, and a description of how they are used.


    === QAbstractItemModel ===
    === QAbstractItemModel ===
    * {{class|GeoDataDebugModel|kdeedu|4.x}}
    * {{class|GeoDataDebugModel|kdeedu|4.x}}
    It represents a data file, parsed into a {{class|GeoDataDocument|kdeedu|4.x}} tree structure.
    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)
    It is used by the {{class|DataViewPlugin|kdeedu|4.x}} debug plugin (and is broken atm).


    * {{class|GpxFileModel|kdeedu|4.x}}
    * {{class|GpxFileModel|kdeedu|4.x}}
    It represents a list of gpx data file represented as {{class|GpxFile|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.
    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 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}}
    * {{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 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.
    It is used by the {{class|GeoRenderPlugin|kdeedu|4.x}} to access the list of vector data and draw it.


    === QAbstractListModel ===
    === QAbstractListModel ===
    * {{class|FileViewModel|kdeedu|4.x}}
    * {{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 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 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 by a List widget in the {{class|MarbleControlBox|kdeedu|4.X}}.


    * {{class|MarbleGeoDataModel|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 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.
    It is used by no other code.


    * {{class|MarblePlacemarkModel|kdeedu|4.x}}
    * {{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 represents a list of Placemarks.


    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.
    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.

    Revision as of 16:14, 13 September 2009

    ModelView framework in Marble

    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

    • Expression error: Unrecognized word "x".

    It represents the tree of Expression error: Unrecognized word "x". elements corresponding to a Expression error: Unrecognized word "x"..

    It is used by the Expression error: Unrecognized word "x". debug plugin (and is broken atm).

    • Expression error: Unrecognized word "x".

    It represents a list of gpx data files represented as Expression error: Unrecognized word "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 Gpx Status

    • Expression error: Unrecognized word "x".

    It represents the GeoDataGeometry and the Expression error: Unrecognized word "x". items of the last opened Expression error: Unrecognized word "x"..

    It is used by the Expression error: Unrecognized word "x". to access the list of vector data and draw it.

    QAbstractListModel

    • Expression error: Unrecognized word "x".

    It represents the list of opened files. The Expression error: Unrecognized word "x". signals it about the documents it opens or closes.

    It is used by the Expression error: Unrecognized word "x". and by a List widget in the Expression error: Unrecognized word "x"..

    • Expression error: Unrecognized word "x".

    It represents a list of Expression error: Unrecognized word "x".. Only the Expression error: Unrecognized word "x". uses it.

    It is used by no other code.

    • Expression error: Unrecognized word "x".

    It represents a list of Placemarks.

    The Expression error: Unrecognized word "x". appends all the placemarks contained in the Expression error: Unrecognized word "x". it knows about in its instance.

    The Expression error: Unrecognized word "x". appends the list of placemarks that the Runners found in its instance.

    It is used by the Expression error: Unrecognized word "x". to provide a list of placemarks (either from the PlacemarkManager or from the MarbleRunnerManager).

    It is also used by the Expression error: Unrecognized word "x". to determine layouting on the map.