<table><tr><td style="">asemke added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D21575">View Revision</a></tr></table><br /><div><div><p>The class name TreeModel sounds very generic but this model will most probably only used for cursors only. Can we call it CursorTreeModel similar to how have AspectTreeModel already?</p>

<p>The are several code style glitches. Please execute astyle with the options in admin/README.astyle.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121934">View Inline</a><span style="color: #4b4d51; font-weight: bold;">AbstractAspect.cpp:339</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="n">AbstractAspect</span><span style="color: #aa2211">*</span> <span class="n">AbstractAspect</span><span style="color: #aa2211">::</span><span class="n">parent</span><span class="p">(</span><span class="n">AspectType</span> <span class="n">type</span><span class="p">)</span> <span style="color: #aa4000">const</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span class="n">AbstractAspect</span><span style="color: #aa2211">*</span> <span class="n">parent</span> <span style="color: #aa2211">=</span> <span class="n">parentAspect</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">remove empty line.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121935">View Inline</a><span style="color: #4b4d51; font-weight: bold;">ColumnPrivate.cpp:1289</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">          <span class="n">monotonic_increasing</span> <span style="color: #aa2211">=</span> <span style="color: #601200">1</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">        <span style="color: #aa4000">else</span> <span style="color: #004012">if</span> <span class="p">(</span><span class="n">value</span> <span style="color: #aa2211"><</span> <span class="n">prevValue<span class="bright"></span></span><span class="bright"></span><span class="p"><span class="bright">)</span></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">else</span> <span style="color: #004012">if</span> <span class="p">(</span><span class="n">value</span> <span style="color: #aa2211"><</span> <span class="n">prevValue<span class="bright"></span></span><span class="bright"> </span><span style="color: #aa2211"><span class="bright">||</span></span><span class="bright"> </span><span class="n"><span class="bright">value</span></span><span class="bright"> </span><span style="color: #aa2211"><span class="bright">!=</span></span><span class="bright"> </span><span class="n"><span class="bright">value</span></span><span class="bright"></span><span class="p"><span class="bright">)</span></span><span class="bright"> </span><span class="p"><span class="bright">{</span></span><span class="bright"></span><span style="color: #74777d"><span class="bright">// or if NAN</span></span>
</div><div style="padding: 0 8px; margin: 0 4px; ">          <span class="n">monotonic_increasing</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">std::isnan(value)</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121936">View Inline</a><span style="color: #4b4d51; font-weight: bold;">ColumnPrivate.cpp:1299</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">          <span class="n">monotonic_decreasing</span> <span style="color: #aa2211">=</span> <span style="color: #601200">1</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">        <span style="color: #aa4000">else</span> <span style="color: #004012">if</span> <span class="p">(</span><span class="n">value</span> <span style="color: #aa2211">></span> <span class="n">prevValue<span class="bright"></span></span><span class="bright"></span><span class="p"><span class="bright">)</span></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">else</span> <span style="color: #004012">if</span> <span class="p">(</span><span class="n">value</span> <span style="color: #aa2211">></span> <span class="n">prevValue<span class="bright"></span></span><span class="bright"> </span><span style="color: #aa2211"><span class="bright">||</span></span><span class="bright"> </span><span class="n"><span class="bright">value</span></span><span class="bright"> </span><span style="color: #aa2211"><span class="bright">!=</span></span><span class="bright"> </span><span class="n"><span class="bright">value</span></span><span class="bright"></span><span class="p"><span class="bright">)</span></span><span class="bright"> </span><span class="p"><span class="bright">{</span></span>
</div><div style="padding: 0 8px; margin: 0 4px; ">          <span class="n">monotonic_decreasing</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">std::isnan(value)</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121937">View Inline</a><span style="color: #4b4d51; font-weight: bold;">ColumnPrivate.cpp:1301</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">          <span class="n">monotonic_decreasing</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">          <span style="color: #aa4000">if</span> <span class="p">(</span><span class="n">monotonic_increasing</span> <span style="color: #aa2211">==</span> <span style="color: #601200">0</span><span class="p">)</span> <span style="color: #74777d">// leaf loop if nor decreasing nor increasing</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span style="color: #aa4000">break</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">small typo - leave, not leaf.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121941">View Inline</a><span style="color: #4b4d51; font-weight: bold;">TreeModel.cpp:36</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="n">TreeItem</span><span style="color: #aa2211">::</span><span class="n">TreeItem</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QVector</span><span style="color: #aa2211"><</span><span class="n">QVariant</span><span style="color: #aa2211">></span> <span style="color: #aa2211">&</span><span class="n">data</span><span class="p">,</span> <span class="n">TreeItem</span> <span style="color: #aa2211">*</span><span class="n">parent</span><span class="p">)</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">parentItem</span> <span style="color: #aa2211">=</span> <span class="n">parent</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">itemData</span> <span style="color: #aa2211">=</span> <span class="n">data</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">use constructor member initializer list.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121938">View Inline</a><span style="color: #4b4d51; font-weight: bold;">TreeModel.h:63</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">QColor</span> <span class="n">m_backgroundColor</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">TreeItem</span> <span style="color: #aa2211">*</span><span class="n">parentItem</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="p">};</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">TreeItem* parentItem{nullptr};</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121939">View Inline</a><span style="color: #4b4d51; font-weight: bold;">TreeModel.h:74</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #a0a000">public</span><span class="p">:</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">TreeModel</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QStringList</span> <span style="color: #aa2211">&</span><span class="n">headers</span><span class="p">,</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">              <span class="n">QObject</span> <span style="color: #aa2211">*</span><span class="n">parent</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">TreeModel(const QStringList& headers, QObject* parent = nullptr);</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121940">View Inline</a><span style="color: #4b4d51; font-weight: bold;">TreeModel.h:106</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">TreeItem</span> <span style="color: #aa2211">*</span><span class="n">rootItem</span><span class="p">;</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="p">};</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">TreeItem* rootItem{nullptr};</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121942">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Worksheet.cpp:427</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="n">WorksheetElement</span> <span style="color: #aa2211">*</span><span class="n">Worksheet</span><span style="color: #aa2211">::</span><span class="n">getPlot</span><span class="p">(</span><span style="color: #aa4000">int</span> <span class="n">index</span><span class="p">){</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span class="n">QVector</span><span style="color: #aa2211"><</span><span class="n">CartesianPlot</span><span style="color: #aa2211">*></span> <span class="n">cartesianPlots</span> <span style="color: #aa2211">=</span> <span class="n">children</span><span style="color: #aa2211"><</span><span class="n">CartesianPlot</span><span style="color: #aa2211">></span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">remove empty line.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121943">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Worksheet.cpp:429</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span class="n">QVector</span><span style="color: #aa2211"><</span><span class="n">CartesianPlot</span><span style="color: #aa2211">*></span> <span class="n">cartesianPlots</span> <span style="color: #aa2211">=</span> <span class="n">children</span><span style="color: #aa2211"><</span><span class="n">CartesianPlot</span><span style="color: #aa2211">></span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span style="color: #aa4000">if</span><span class="p">(</span><span class="n">cartesianPlots</span><span class="p">.</span><span class="n">length</span><span class="p">()</span><span style="color: #aa2211">-</span><span style="color: #601200">1</span> <span style="color: #aa2211">>=</span> <span class="n">index</span><span class="p">){</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">return</span> <span class="n">cartesianPlots</span><span class="p">[</span><span class="n">index</span><span class="p">];</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">no brackets for one-liners.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121944">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Worksheet.cpp:976</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #aa4000">void</span> <span class="n">Worksheet</span><span style="color: #aa2211">::</span><span class="n">curveDataChanged</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">XYCurve</span><span style="color: #aa2211">*</span> <span class="n">curve</span><span class="p">)</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span class="n">CartesianPlot</span><span style="color: #aa2211">*</span> <span class="n">plot</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">dynamic_cast</span><span style="color: #aa2211"><</span><span class="n">CartesianPlot</span><span style="color: #aa2211">*></span><span class="p">(</span><span class="n">QObject</span><span style="color: #aa2211">::</span><span class="n">sender</span><span class="p">());</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">In curveDataChanged() and in the following functions there is a lot of logic handling the tree model. Can me move this code into TreeModel and have in Worksheet only some abstract interface of the model hiding the technical details?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121945">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Worksheet.cpp:1226</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; "><span class="n">WorksheetPrivate</span><span style="color: #aa2211">::</span><span class="n">WorksheetPrivate</span><span class="p">(</span><span class="n">Worksheet</span><span style="color: #aa2211">*</span> <span class="n">owner</span><span class="p">)</span> <span style="color: #aa2211">:</span> <span class="n">q</span><span class="p">(</span><span class="n">owner</span><span class="p">),</span> <span class="n">m_scene</span><span class="p">(</span><span style="color: #aa4000">new</span> <span class="n">QGraphicsScene</span><span class="p">())</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span class="n">QStringList</span> <span class="n">headers</span> <span style="color: #aa2211">=</span> <span class="p">{</span><span style="color: #766510">"Plot/Curve"</span><span class="p">,</span> <span style="color: #766510">"V1"</span><span class="p">,</span> <span style="color: #766510">"V2"</span><span class="p">,</span> <span style="color: #766510">"V2-V1"</span><span class="p">};</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">cursorData</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">new</span> <span class="n">TreeModel</span><span class="p">(</span><span class="n">headers</span><span class="p">,</span> <span style="color: #aa4000">nullptr</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">add i18n for "Plot/Curve".</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121946">View Inline</a><span style="color: #4b4d51; font-weight: bold;">CartesianCoordinateSystem.cpp:250</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">x</span> <span style="color: #aa2211">=</span> <span class="n">pageRect</span><span class="p">.</span><span class="n">x</span><span class="p">();</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">          <span style="color: #aa4000">if</span> <span class="p">(</span><span class="n">x</span> <span style="color: #aa2211">></span> <span class="n">pageRect</span><span class="p">.</span><span class="n">x</span><span class="p">()</span><span style="color: #aa2211">+</span><span class="n">pageRect</span><span class="p">.</span><span class="n">width</span><span class="p">())</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">x</span> <span style="color: #aa2211">=</span> <span class="n">pageRect</span><span class="p">.</span><span class="n">x</span><span class="p">()</span><span style="color: #aa2211">+</span><span class="n">pageRect</span><span class="p">.</span><span class="n">width</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">add spaces between the operators here.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121947">View Inline</a><span style="color: #4b4d51; font-weight: bold;">CartesianPlot.cpp:1069</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="n">STD_SETTER_CMD_IMPL_F_S</span><span class="p">(</span><span class="n">CartesianPlot</span><span class="p">,</span> <span class="n">SetCursorPen</span><span class="p">,</span> <span class="n">QPen</span><span class="p">,</span> <span class="n">cursorPen</span><span class="p">,</span> <span class="n">retransformScales</span><span class="p">)</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #aa4000">void</span> <span class="n">CartesianPlot</span><span style="color: #aa2211">::</span><span class="n">setCursorPen</span><span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QPen</span> <span style="color: #aa2211">&</span><span class="n">pen</span><span class="p">)</span> <span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">do we really need to retransform the scale if we set the pen for the cursor?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121948">View Inline</a><span style="color: #4b4d51; font-weight: bold;">CartesianPlot.cpp:1359</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span style="color: #aa4000">int</span> <span class="n">CartesianPlot</span><span style="color: #aa2211">::</span><span class="n">signalCount</span><span class="p">(){</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span style="color: #aa4000">return</span> <span class="n">children</span><span style="color: #aa2211"><</span><span class="n">XYCurve</span><span style="color: #aa2211">></span><span class="p">().</span><span class="n">length</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">"signal" is not the terminology used in the code. Let's stick to "curve".</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121949">View Inline</a><span style="color: #4b4d51; font-weight: bold;">CartesianPlot.cpp:3050</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">writer</span><span style="color: #aa2211">-></span><span class="n">writeStartElement</span><span class="p">(</span> <span style="color: #766510">"cursor"</span> <span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">writer</span><span style="color: #aa2211">-></span><span class="n">writeAttribute</span><span class="p">(</span> <span style="color: #766510">"width"</span><span class="p">,</span> <span class="n">QString</span><span style="color: #aa2211">::</span><span class="n">number</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">cursorPen</span><span class="p">.</span><span class="n">width</span><span class="p">()));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">writer</span><span style="color: #aa2211">-></span><span class="n">writeAttribute</span><span class="p">(</span> <span style="color: #766510">"style"</span><span class="p">,</span> <span class="n">QString</span><span style="color: #aa2211">::</span><span class="n">number</span><span class="p">(</span><span class="n">d</span><span style="color: #aa2211">-></span><span class="n">cursorPen</span><span class="p">.</span><span class="n">style</span><span class="p">()));</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">use WRITE_QPEN macro.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121950">View Inline</a><span style="color: #4b4d51; font-weight: bold;">ProjectExplorer.cpp:629</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span style="color: #aa4000">for</span> <span class="p">(</span><span style="color: #aa4000">const</span> <span class="n">QModelIndex</span><span style="color: #aa2211">&</span> <span style="color: #a0a000">index</span> <span class="p">:</span> <span class="n">items</span><span class="p">)</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">aspect</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">static_cast</span><span style="color: #aa2211"><</span><span class="n">AbstractAspect</span><span style="color: #aa2211">*></span><span class="p">(</span><span class="n">index</span><span class="p">.</span><span class="n">internalPointer</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">selectedAspects</span><span style="color: #aa2211"><<</span><span class="n">aspect</span><span class="p">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">use directly selectedAspects << static_cast<AbstractAspect*>(index.internalPointer());, no need for an extra variable and this assignment in the loop.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121951">View Inline</a><span style="color: #4b4d51; font-weight: bold;">MainWin.cpp:179</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span style="color: #aa4000">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">cursorDock</span><span class="p">)</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">cursorDock</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">new</span> <span class="n">QDockWidget</span><span class="p">(</span><span style="color: #766510">"Cursor"</span><span class="p">,</span> <span style="color: #aa4000">this</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">cursorWidget</span> <span style="color: #aa2211">=</span> <span style="color: #aa4000">new</span> <span class="n">CursorDock</span><span class="p">(</span><span class="n">cursorDock</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">i18n("Cursor")</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121952">View Inline</a><span style="color: #4b4d51; font-weight: bold;">MainWin.cpp:190</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">cursorDock</span><span style="color: #aa2211">-></span><span class="n">setWindowTitle</span><span class="p">(</span><span style="color: #766510">"Cursor"</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">  <span class="p">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">isn't this obsolete since you set the title in the constructor already?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D21575#inline-121953">View Inline</a><span style="color: #4b4d51; font-weight: bold;">CartesianPlotDock.h:181</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #74777d">// Cursor</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">void</span> <span style="color: #004012">plotCursorPenChanged</span><span class="p">(</span><span class="n">QPen</span> <span class="n">pen</span><span class="p">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">void plotCursorPenChanged(QPen);</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R262 LabPlot</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D21575">https://phabricator.kde.org/D21575</a></div></div><br /><div><strong>To: </strong>Murmele, asemke<br /><strong>Cc: </strong>kde-edu, narvaez, apol<br /></div>