[Marble-bugs] [marble] [Bug 332334] New: Add support for the KML Schema tag and child elements

Dennis Nienhüser earthwings at gentoo.org
Wed Mar 19 20:23:45 UTC 2014


https://bugs.kde.org/show_bug.cgi?id=332334

            Bug ID: 332334
           Summary: Add support for the KML Schema tag and child elements
    Classification: Unclassified
           Product: marble
           Version: 1.7 (KDE 4.12)
          Platform: unspecified
                OS: Linux
            Status: UNCONFIRMED
          Keywords: google-code-in, junior-jobs
          Severity: task
          Priority: NOR
         Component: general
          Assignee: marble-bugs at kde.org
          Reporter: earthwings at gentoo.org

Add support for the KML Schema tag and its child tags SimpleField and
displayName.
- For Schema and SimpleField, add one class
  - GeoDataSchema and GeoDataSimpleField in src/lib/marble/geodata/data
  - KmlSchemaTagHandler and KmlSimpleFieldTagHandler in
src/lib/marble/geodata/handlers/kml
  - KmlSchemaTagWriter and KmlSimpleFieldTagWriter in
src/lib/marble/geodata/writers/kml
Have a look at other files in the respective directories for examples.
For displayName extend the existing KmlDisplayTagHandler. There's no need to
have a writer for it, KmlSimpleFieldTagWriter can write the needed tag on its
own.

GeoDataSchema should derive from GeoDataObject. For simplicity it can also
derive from QVector<GeoDataSimpleField>, or provide a similar API to get/set
the SimpleField children. GeoDataSimpleField should have getters and setters
for type (a new enum), name (QString) and displayName (QString).
Modify GeoDataDocument such that GeoDataSchema instances can be added, removed
and queried from it. Change KmlDocumentTagHandler and KmlDocumentTagWriter to
read/write Schema tags.

Add a KML file tests/data/Schema.kml as a unit test. It should contain various
Schema tags in a Document (see KML reference). Make sure to compile Marble with
the following cmake options enabled: BUILD_MARBLE_TESTS=TRUE,
BUILD_MARBLE_TOOLS=TRUE. Execute tests/TestGeoDataWriter and make sure no
errors come up. Use tools/kml2kml to analyze errors and fix the tag writers, if
needed. Submit a review request at https://git.reviewboard.kde.org with the
marble group as reviewers.

Please leave a comment here (e.g. "I want to work on this task.") if you start
working on this task to avoid multiple people working on it at the same time.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Marble-bugs mailing list