----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/118717/ -----------------------------------------------------------
(Updated July 9, 2014, 2:09 p.m.) Review request for Marble, Dennis Nienhüser, Torsten Rahn, and Thibaut Gridel. Changes ------- Hi Torsten, Thanks for review. I have made some changes in the patch so that it now highlight only those placemarks whose styleUrl is set to that style map which has an entry for a highlight styleId ( In previous patch I didn't check for placemark->styleUrl() and highlihted every placemark if any style map in corresponding GeoDataDocument specifies a highlight styleId ). I have splitted the diff into two patches - one for pn2 modifications ( https://git.reviewboard.kde.org/r/118620/ ) and other for highlight region feature ( this patch ). The highlight region patch depends on patch modifying pn2 format. Repository: marble Description (updated) ------- Modifications: 1. Added support to specify highlight color in dgml file. 2. Highlighting is done in the following way: -> Input handler emits mouseClickGeoPostion( qreal lon, qreal lat, GeoDataCoordinates::Unit unit ) whenever a click is detected on map. -> Signal mouseClickGeoPostion(..) is connected to the signal MarbleMap::announceMouseClick(..) which further triggers the slot GeometryLayer::hadnleHighlight(..) which iterates over the tree model to find the placemarks, from all GeoDataDocuments in which any of its style map has an entry for highlight styleId, which were under mouse when the click event happened. -> After searching for all such placemarks GeometryLayer::hadnleHighlight(..) emits signal announceHighlight(QVector<GeoDataPlacemarks*> which is caught by GeoGraphicsScene to execute the slot GeoGraphicsScene::applyHighlight(QVector< GeoDataPlacemark* > selectedPlacemark). -> GeoGraphicsScene::applyHighlight(..) we find all GeoGraphicsItems for a plcamark and execute GeoGraphicsItem::setHighlightStyle( GeoDataStyle *highlightStyle ) for each graphics items if the corresponding placemark's style url is set to a style map which has a entry for highlight styleId. -> GeoGraphicsItem::setHighlightStyle(..) assigns this style to GeoGraphicsItemPrivate::m_highlightStyle makes GeoGraphicsItemPrivate::m_isHighlighted true. m_isHighlight decides which style ( normal or highlight ) to use to paint the graphics item. That's it . Need feedback :) Diffs (updated) ----- src/lib/marble/geodata/scene/GeoSceneMap.cpp 7f94c11 src/lib/marble/graphicsview/GeoGraphicsItem.h 653fef0 src/lib/marble/graphicsview/GeoGraphicsItem.cpp 1227316 src/lib/marble/graphicsview/GeoGraphicsItem_p.h 618cddf src/lib/marble/layers/GeometryLayer.h f868f26 data/maps/earth/political/political.dgml abfb8d9 src/lib/marble/GeoGraphicsScene.h 869c3d8 src/lib/marble/GeoGraphicsScene.cpp f84c532 src/lib/marble/MarbleInputHandler.h 58107e5 src/lib/marble/MarbleInputHandler.cpp 3fce19a src/lib/marble/MarbleMap.h e7ec453 src/lib/marble/MarbleMap.cpp 0e1c70d src/lib/marble/MarbleModel.h 9643186 src/lib/marble/MarbleModel.cpp 2c56476 src/lib/marble/MarbleWidget.h e8148a9 src/lib/marble/MarbleWidget.cpp d58db8e src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp b161d06 src/lib/marble/geodata/handlers/dgml/DgmlAttributeDictionary.h cf4dd76 src/lib/marble/geodata/handlers/dgml/DgmlAttributeDictionary.cpp 85f10fb src/lib/marble/geodata/handlers/dgml/DgmlMapTagHandler.cpp fb7ff0f src/lib/marble/geodata/scene/GeoSceneMap.h 498bb3a src/lib/marble/layers/GeometryLayer.cpp daea513 Diff: https://git.reviewboard.kde.org/r/118717/diff/ Testing ------- File Attachments ---------------- pn2DataNew.zip https://git.reviewboard.kde.org/media/uploaded/files/2014/06/13/e541a355-80be-40a8-8158-afea0677bd0e__pn2DataNew.zip color10.png https://git.reviewboard.kde.org/media/uploaded/files/2014/06/13/f04644e8-6318-4b9a-a8d1-2747b405f73b__color10.png color11.png https://git.reviewboard.kde.org/media/uploaded/files/2014/06/13/5f07bac3-3bcb-4086-b8d6-5b836b8f18dc__color11.png Thanks, Abhinav Gangwar
_______________________________________________ Marble-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/marble-devel
