[Marble-devel] Review Request 118717: Added 'highlight on click' feature.
Abhinav Gangwar
abhgang at gmail.com
Tue Sep 9 16:40:00 UTC 2014
> On Sept. 8, 2014, 2:10 a.m., Dennis Nienhüser wrote:
> > src/lib/marble/layers/GeometryLayer.cpp, line 533
> > <https://git.reviewboard.kde.org/r/118717/diff/10/?file=303826#file303826line533>
> >
> > Is this the right place to put this comment? Shouldn't it be where MarbleMap connects the signal?
I have made a comment in MarbleMap also. I have put this comment in GeometryLayer.cpp to tell about the plcaemarks which are passed with signal. Sorry, I don't understand why this should be removed from GeometryLayer.cpp .
- Abhinav
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118717/#review66011
-----------------------------------------------------------
On Sept. 9, 2014, 9:27 p.m., Abhinav Gangwar wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118717/
> -----------------------------------------------------------
>
> (Updated Sept. 9, 2014, 9:27 p.m.)
>
>
> Review request for Marble, Dennis Nienhüser, Torsten Rahn, and Thibaut Gridel.
>
>
> Bugs: 148771
> http://bugs.kde.org/show_bug.cgi?id=148771
>
>
> Repository: marble
>
>
> Description
> -------
>
> 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
> -----
>
> src/lib/marble/MarbleMap.cpp 5702bc5
> src/lib/marble/MarbleModel.h 40d167d
> src/lib/marble/MarbleModel.cpp 6f1ef64
> src/lib/marble/MarbleWidget.h 070fd6f
> src/lib/marble/MarbleWidget.cpp 75d2d8f
> 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/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 ab36843
> src/lib/marble/layers/GeometryLayer.cpp 1397f37
> src/lib/marble/MarbleMap.h 18bc9ed
> src/lib/marble/MarbleInputHandler.cpp 6a46a0d
> src/lib/marble/GeoGraphicsScene.h 869c3d8
> src/lib/marble/GeoGraphicsScene.cpp f84c532
> src/lib/marble/MarbleInputHandler.h 58107e5
> data/maps/earth/political/political.dgml 3bf3b1b
>
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20140909/da7791ce/attachment-0001.html>
More information about the Marble-devel
mailing list