<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/118717/">https://git.reviewboard.kde.org/r/118717/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 8th, 2014, 2:10 a.m. IST, <b>Dennis Nienhüser</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/118717/diff/10/?file=303806#file303806line97" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/GeoGraphicsScene.h</a>
<span style="font-weight: normal;">
(Diff revision 10)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">public:</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">97</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="kt">bool</span> <span class="nf">setHighlightStyle</span><span class="p">(</span> <span class="n">GeoGraphicsItem</span> <span class="o">*</span><span class="n">item</span><span class="p">,</span> <span class="k">const</span> <span class="n">GeoDataDocument</span> <span class="o">*</span><span class="n">document</span><span class="p">,</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For code readability I'd like to refactor this method a bit. Currently it looks like a setter, but actually does three things at the same time, which leads to the somewhat surprising parameters and the need for a return value. Right now it does<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- retrieve the highlight style<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- apply it to the item<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- mark the item as selected</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">One way around it would be to have two methods:<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- highlightStyle(Document, StyleMap)<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- selectAndHighlight(Item, Style)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">or even three when splitting the second one up also.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The method seems to be used only internally, so instead you could also move it to the private section and rename it applyHighlightStyle(). Then have the API docs explain what it does.</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">broken the whole functionality into three method :<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
1. highlightStyle( const GeoDataDocument*, const GeoDataStyleMap & )<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
2. selecItem( GeoGraphicsItem * )<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
3. applyHighlightStyle( GeoGraphicsitem *item, GeoDataStyle *style )</p></pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 8th, 2014, 2:10 a.m. IST, <b>Dennis Nienhüser</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/118717/diff/10/?file=303809#file303809line234" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/MarbleInputHandler.cpp</a>
<span style="font-weight: normal;">
(Diff revision 10)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">MarbleDefaultInputHandler::~MarbleDefaultInputHandler()</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">234</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">MarbleInputHandler</span><span class="o">::</span><span class="n">d</span><span class="o">-></span><span class="n">m_marblePresenter</span><span class="o">-></span><span class="n">map</span><span class="p">()</span><span class="o">-></span><span class="n">geoCoordinates</span><span class="p">(</span> <span class="n">d</span><span class="o">-></span><span class="n">m_leftPressedX</span><span class="p">,</span> <span class="n">d</span><span class="o">-></span><span class="n">m_leftPressedY</span><span class="p">,</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Result is not checked. What happens e.g. for mouse clicks outside the map (stars)?</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Thanks for mentioning ! Quite silly of me that I missed it.</p></pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 8th, 2014, 2:10 a.m. IST, <b>Dennis Nienhüser</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/118717/diff/10/?file=303813#file303813line395" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/MarbleModel.cpp</a>
<span style="font-weight: normal;">
(Diff revision 10)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void MarbleModel::setMapThemeId( const QString &mapThemeId )</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">394</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n"><span class="hl">assignNewStyle</span></span><span class="p"><span class="hl">(</span></span><span class="hl"> </span><span class="n"><span class="hl">filename</span></span><span class="p"><span class="hl">,</span></span> <span class="n">style</span><span class="hl"> </span><span class="p"><span class="hl">)</span>;</span></pre></td>
<th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">395</font></th>
<td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k"><span class="hl">delete</span></span> <span class="n">style</span><span class="p">;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Can we put it on the stack instead (i.e. use GeoDataStyle style instead of GeoDataStlye* style)</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As I understood from the comment you're saying that make the style a value attribute and avoid the "delete style" statement.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
The same style is sent to FileManager::addFile(..) at last, if the file hasn't been parsed already. FileManger uses this style create a FileLoader type object. In FileLoader this style pointer has been used in if statements like "if ( m_style )" to differentiate between a valid and invalid style.<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
If I change the style, MarbleModel::setMapTheme(...), to a value attribute then I will need something like "isValid()" for style to replace the functionality of what "if ( m_style )" does.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Since this patch is already too big, I avoided any change in FileManager and FileLoader. Furthermore, I don't know whether it's a good idea to change FileManager and FileLoader to hadnle style as a value attribute. IMHO if it's good way to go we can include it another patch.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So, I stayed with original approach of passing assignNewStyle(..) a GeoDataStyle type and deleting it ( in assignNewStyle() itself ) at last to avoid any memory leak.</p></pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 8th, 2014, 2:10 a.m. IST, <b>Dennis Nienhüser</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/118717/diff/10/?file=303813#file303813line822" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/MarbleModel.cpp</a>
<span style="font-weight: normal;">
(Diff revision 10)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void MarbleModel::assignFillColors( const QString &filePath ) {</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">819</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">style</span><span class="o">-></span><span class="n">setId</span><span class="p">(</span> <span class="n">QString</span><span class="p">(</span><span class="s">"normal"</span><span class="p">).</span><span class="n">append</span><span class="p">(</span> <span class="n">placemark</span><span class="o">-></span><span class="n">name</span><span class="p">()</span> <span class="p">)</span> <span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">why use name() and not id()?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Both name() and id() will often be empty. Is that a problem? If not, I'd rather go for plain "normal" with no suffix in any case.</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Went for only "normal" with no suffix.</p></pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 8th, 2014, 2:10 a.m. IST, <b>Dennis Nienhüser</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/118717/diff/10/?file=303815#file303815line405" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/MarbleWidget.cpp</a>
<span style="font-weight: normal;">
(Diff revision 10)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">RenderStatus MarbleWidget::renderStatus() const</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">405</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">MarbleWidget</span><span class="o">::</span><span class="n">setHighlightEnabled</span><span class="p">(</span><span class="kt">bool</span> <span class="n">enabled</span><span class="p">)</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It should be possible to call this several times in a row with the same parameters, e.g.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">setHightlightEnabled(true);<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
setHightlightEnabled(true);</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Currently this will lead to multiple connections or shell warnings.</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Used Qt::UniqueConnection flag, in connect method, to avoid any duplicate connection</p></pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On September 8th, 2014, 2:10 a.m. IST, <b>Dennis Nienhüser</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://git.reviewboard.kde.org/r/118717/diff/10/?file=303823#file303823line93" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/graphicsview/GeoGraphicsItem.cpp</a>
<span style="font-weight: normal;">
(Diff revision 10)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">93</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">p</span><span class="p">()</span><span class="o">-></span><span class="n">m_highlighted</span> <span class="o">=</span> <span class="nb">true</span><span class="p">;</span></pre></td>
</tr>
</tbody>
</table>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Imho this should be removed as it is an unexpected side-effect and people should insted be forced to call setHighlighted(true) on their own.</p></pre>
</blockquote>
</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">yes, you're right. Now, I'm not messing with m_highlighted in setHighlightStyle() and m_highlightStyle in setHighlighted().</p></pre>
<br />
<p>- Abhinav</p>
<br />
<p>On August 21st, 2014, 6:19 p.m. IST, Abhinav Gangwar wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for Marble, Dennis Nienhüser, Torsten Rahn, and Thibaut Gridel.</div>
<div>By Abhinav Gangwar.</div>
<p style="color: grey;"><i>Updated Aug. 21, 2014, 6:19 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="http://bugs.kde.org/show_bug.cgi?id=148771">148771</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
marble
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Modifications:</p>
<ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 2em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Added support to specify highlight color in dgml file.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Highlighting is done in the following way:</li>
</ol>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">-> Input handler emits mouseClickGeoPostion( qreal lon, qreal lat, GeoDataCoordinates::Unit unit ) whenever a click <br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
is detected on map.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">-> Signal mouseClickGeoPostion(..) is connected to the signal MarbleMap::announceMouseClick(..) which<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
further triggers the slot GeometryLayer::hadnleHighlight(..) which iterates over the tree model to find the <br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
placemarks, from all GeoDataDocuments in which any of its style map has an entry for highlight styleId, which<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
were under mouse when the click event happened.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">-> After searching for all such placemarks GeometryLayer::hadnleHighlight(..) emits signal<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
announceHighlight(QVector<GeoDataPlacemarks<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">> which is caught by GeoGraphicsScene to execute the slot<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
GeoGraphicsScene::applyHighlight(QVector< GeoDataPlacemark</em> > selectedPlacemark).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">-> GeoGraphicsScene::applyHighlight(..) we find all GeoGraphicsItems for a plcamark and execute<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
GeoGraphicsItem::setHighlightStyle( GeoDataStyle *highlightStyle ) for each graphics items if the corresponding <br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
placemark's style url is set to a style map which has a entry for highlight styleId.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">-> GeoGraphicsItem::setHighlightStyle(..) assigns this style to GeoGraphicsItemPrivate::m_highlightStyle makes <br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
GeoGraphicsItemPrivate::m_isHighlighted true. m_isHighlight decides which style ( normal or highlight ) to use<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
to paint the graphics item.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That's it . Need feedback :)</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>data/maps/earth/political/political.dgml <span style="color: grey">(3bf3b1b)</span></li>
<li>src/lib/marble/GeoGraphicsScene.h <span style="color: grey">(869c3d8)</span></li>
<li>src/lib/marble/GeoGraphicsScene.cpp <span style="color: grey">(f84c532)</span></li>
<li>src/lib/marble/MarbleInputHandler.h <span style="color: grey">(58107e5)</span></li>
<li>src/lib/marble/MarbleInputHandler.cpp <span style="color: grey">(6a46a0d)</span></li>
<li>src/lib/marble/MarbleMap.h <span style="color: grey">(ab51f62)</span></li>
<li>src/lib/marble/MarbleMap.cpp <span style="color: grey">(25007ac)</span></li>
<li>src/lib/marble/MarbleModel.h <span style="color: grey">(9643186)</span></li>
<li>src/lib/marble/MarbleModel.cpp <span style="color: grey">(3bd408c)</span></li>
<li>src/lib/marble/MarbleWidget.h <span style="color: grey">(dfc1aa7)</span></li>
<li>src/lib/marble/MarbleWidget.cpp <span style="color: grey">(d4c7ff4)</span></li>
<li>src/lib/marble/geodata/graphicsitem/GeoPolygonGraphicsItem.cpp <span style="color: grey">(b161d06)</span></li>
<li>src/lib/marble/geodata/handlers/dgml/DgmlAttributeDictionary.h <span style="color: grey">(cf4dd76)</span></li>
<li>src/lib/marble/geodata/handlers/dgml/DgmlAttributeDictionary.cpp <span style="color: grey">(85f10fb)</span></li>
<li>src/lib/marble/geodata/handlers/dgml/DgmlMapTagHandler.cpp <span style="color: grey">(fb7ff0f)</span></li>
<li>src/lib/marble/geodata/scene/GeoSceneMap.h <span style="color: grey">(498bb3a)</span></li>
<li>src/lib/marble/geodata/scene/GeoSceneMap.cpp <span style="color: grey">(7f94c11)</span></li>
<li>src/lib/marble/graphicsview/GeoGraphicsItem.h <span style="color: grey">(653fef0)</span></li>
<li>src/lib/marble/graphicsview/GeoGraphicsItem.cpp <span style="color: grey">(1227316)</span></li>
<li>src/lib/marble/graphicsview/GeoGraphicsItem_p.h <span style="color: grey">(618cddf)</span></li>
<li>src/lib/marble/layers/GeometryLayer.h <span style="color: grey">(8d86aed)</span></li>
<li>src/lib/marble/layers/GeometryLayer.cpp <span style="color: grey">(fbfe9a3)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/118717/diff/" style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/06/13/e541a355-80be-40a8-8158-afea0677bd0e__pn2DataNew.zip">pn2DataNew.zip</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/06/13/f04644e8-6318-4b9a-a8d1-2747b405f73b__color10.png">color10.png</a></li>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/06/13/5f07bac3-3bcb-4086-b8d6-5b836b8f18dc__color11.png">color11.png</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>