qwt__compass_8cpp-source.html

来自「QWT5.01用于Qt开发的二维图形库程序」· HTML 代码 · 共 248 行 · 第 1/2 页

HTML
248
字号
<a name="l00132"></a>00132 }<a name="l00133"></a>00133 <a name="l00143"></a><a class="code" href="class_qwt_compass.html#f97ae99ae987472ee89deff90c1bf6d4">00143</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_compass.html#f97ae99ae987472ee89deff90c1bf6d4">QwtCompass::drawRose</a>(QPainter *painter, <span class="keyword">const</span> QPoint &amp;center,<a name="l00144"></a>00144     <span class="keywordtype">int</span> radius, <span class="keywordtype">double</span> north, QPalette::ColorGroup cg)<span class="keyword"> const</span><a name="l00145"></a>00145 <span class="keyword"></span>{<a name="l00146"></a>00146     <span class="keywordflow">if</span> ( d_data-&gt;rose )<a name="l00147"></a>00147         d_data-&gt;rose-&gt;draw(painter, center, radius, north,  cg);<a name="l00148"></a>00148 }<a name="l00149"></a>00149 <a name="l00157"></a><a class="code" href="class_qwt_compass.html#06456c0c52107bfa8b1d1267fba5b86f">00157</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_compass.html#06456c0c52107bfa8b1d1267fba5b86f">QwtCompass::setRose</a>(<a class="code" href="class_qwt_compass_rose.html">QwtCompassRose</a> *rose)<a name="l00158"></a>00158 {<a name="l00159"></a>00159     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_compass.html#7405a44d947e16f53b11dea4544d7683">rose</a> != d_data-&gt;rose )<a name="l00160"></a>00160     {<a name="l00161"></a>00161         <span class="keywordflow">if</span> ( d_data-&gt;rose )<a name="l00162"></a>00162             <span class="keyword">delete</span> d_data-&gt;rose;<a name="l00163"></a>00163 <a name="l00164"></a>00164         d_data-&gt;rose = <a class="code" href="class_qwt_compass.html#7405a44d947e16f53b11dea4544d7683">rose</a>;<a name="l00165"></a>00165         update();<a name="l00166"></a>00166     }<a name="l00167"></a>00167 }<a name="l00168"></a>00168 <a name="l00173"></a><a class="code" href="class_qwt_compass.html#7405a44d947e16f53b11dea4544d7683">00173</a> <span class="keyword">const</span> <a class="code" href="class_qwt_compass_rose.html">QwtCompassRose</a> *<a class="code" href="class_qwt_compass.html#7405a44d947e16f53b11dea4544d7683">QwtCompass::rose</a>()<span class="keyword"> const </span><a name="l00174"></a>00174 <span class="keyword"></span>{ <a name="l00175"></a>00175     <span class="keywordflow">return</span> d_data-&gt;rose; <a name="l00176"></a>00176 }<a name="l00177"></a>00177 <a name="l00182"></a><a class="code" href="class_qwt_compass.html#99477d676bd866acd1a418615cba423b">00182</a> <a class="code" href="class_qwt_compass_rose.html">QwtCompassRose</a> *<a class="code" href="class_qwt_compass.html#7405a44d947e16f53b11dea4544d7683">QwtCompass::rose</a>() <a name="l00183"></a>00183 { <a name="l00184"></a>00184     <span class="keywordflow">return</span> d_data-&gt;rose; <a name="l00185"></a>00185 }<a name="l00186"></a>00186 <a name="l00196"></a><a class="code" href="class_qwt_compass.html#d4f31e6837ea045834fe67d192a4209d">00196</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_compass.html#d4f31e6837ea045834fe67d192a4209d">QwtCompass::keyPressEvent</a>(QKeyEvent *kev) <a name="l00197"></a>00197 {<a name="l00198"></a>00198     <span class="keywordflow">if</span> (<a class="code" href="class_qwt_abstract_slider.html#040fd1fd03592c524314bf4b5539608d">isReadOnly</a>()) <a name="l00199"></a>00199         <span class="keywordflow">return</span>;<a name="l00200"></a>00200 <a name="l00201"></a>00201 <span class="preprocessor">#if 0</span><a name="l00202"></a>00202 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( kev-&gt;key() == Key_5 )<a name="l00203"></a>00203     {<a name="l00204"></a>00204         invalidate(); <span class="comment">// signal ???</span><a name="l00205"></a>00205         <span class="keywordflow">return</span>;<a name="l00206"></a>00206     }<a name="l00207"></a>00207 <span class="preprocessor">#endif</span><a name="l00208"></a>00208 <span class="preprocessor"></span><a name="l00209"></a>00209     <span class="keywordtype">double</span> newValue = value();<a name="l00210"></a>00210 <a name="l00211"></a>00211     <span class="keywordflow">if</span> ( kev-&gt;key() &gt;= Qt::Key_1 &amp;&amp; kev-&gt;key() &lt;= Qt::Key_9 )<a name="l00212"></a>00212     {<a name="l00213"></a>00213         <span class="keywordflow">if</span> ( mode() != RotateNeedle || kev-&gt;key() == Qt::Key_5 )<a name="l00214"></a>00214             <span class="keywordflow">return</span>;<a name="l00215"></a>00215 <a name="l00216"></a>00216         <span class="keywordflow">switch</span> (kev-&gt;key()) <a name="l00217"></a>00217         {<a name="l00218"></a>00218             <span class="keywordflow">case</span> Qt::Key_6: <a name="l00219"></a>00219                 newValue = 180.0 * 0.0;<a name="l00220"></a>00220                 <span class="keywordflow">break</span>;<a name="l00221"></a>00221             <span class="keywordflow">case</span> Qt::Key_3: <a name="l00222"></a>00222                 newValue = 180.0 * 0.25;<a name="l00223"></a>00223                 <span class="keywordflow">break</span>;<a name="l00224"></a>00224             <span class="keywordflow">case</span> Qt::Key_2: <a name="l00225"></a>00225                 newValue = 180.0 * 0.5;<a name="l00226"></a>00226                 <span class="keywordflow">break</span>;<a name="l00227"></a>00227             <span class="keywordflow">case</span> Qt::Key_1: <a name="l00228"></a>00228                 newValue = 180.0 * 0.75;<a name="l00229"></a>00229                 <span class="keywordflow">break</span>;<a name="l00230"></a>00230             <span class="keywordflow">case</span> Qt::Key_4: <a name="l00231"></a>00231                 newValue = 180.0 * 1.0;<a name="l00232"></a>00232                 <span class="keywordflow">break</span>;<a name="l00233"></a>00233             <span class="keywordflow">case</span> Qt::Key_7: <a name="l00234"></a>00234                 newValue = 180.0 * 1.25;<a name="l00235"></a>00235                 <span class="keywordflow">break</span>;<a name="l00236"></a>00236             <span class="keywordflow">case</span> Qt::Key_8: <a name="l00237"></a>00237                 newValue = 180.0 * 1.5;<a name="l00238"></a>00238                 <span class="keywordflow">break</span>;<a name="l00239"></a>00239             <span class="keywordflow">case</span> Qt::Key_9: <a name="l00240"></a>00240                 newValue = 180.0 * 1.75;<a name="l00241"></a>00241                 <span class="keywordflow">break</span>;<a name="l00242"></a>00242         }<a name="l00243"></a>00243         newValue -= origin();<a name="l00244"></a>00244         setValue(newValue);<a name="l00245"></a>00245     }<a name="l00246"></a>00246     <span class="keywordflow">else</span><a name="l00247"></a>00247     {<a name="l00248"></a>00248         <a class="code" href="class_qwt_dial.html#61a2341a76abc20ea5bd72a0485be136">QwtDial::keyPressEvent</a>(kev);<a name="l00249"></a>00249     }<a name="l00250"></a>00250 }<a name="l00251"></a>00251 <a name="l00256"></a><a class="code" href="class_qwt_compass.html#ccc25cd9b9b23769711b7f04f9a4c464">00256</a> <span class="keyword">const</span> QMap&lt;double, QString&gt; &amp;<a class="code" href="class_qwt_compass.html#ccc25cd9b9b23769711b7f04f9a4c464">QwtCompass::labelMap</a>()<span class="keyword"> const </span><a name="l00257"></a>00257 <span class="keyword"></span>{ <a name="l00258"></a>00258     <span class="keywordflow">return</span> d_data-&gt;labelMap; <a name="l00259"></a>00259 }<a name="l00260"></a>00260 <a name="l00265"></a><a class="code" href="class_qwt_compass.html#39b3cfa870ef0172b49d54fa2559a875">00265</a> QMap&lt;double, QString&gt; &amp;<a class="code" href="class_qwt_compass.html#ccc25cd9b9b23769711b7f04f9a4c464">QwtCompass::labelMap</a>() <a name="l00266"></a>00266 { <a name="l00267"></a>00267     <span class="keywordflow">return</span> d_data-&gt;labelMap; <a name="l00268"></a>00268 }<a name="l00269"></a>00269 <a name="l00282"></a><a class="code" href="class_qwt_compass.html#b0f2460851db3d5b7169fe0991fdb945">00282</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_compass.html#b0f2460851db3d5b7169fe0991fdb945">QwtCompass::setLabelMap</a>(<span class="keyword">const</span> QMap&lt;double, QString&gt; &amp;map) <a name="l00283"></a>00283 { <a name="l00284"></a>00284     d_data-&gt;labelMap = map; <a name="l00285"></a>00285 }<a name="l00286"></a>00286 <a name="l00297"></a><a class="code" href="class_qwt_compass.html#091c7ac5792d87e20bfc7efce9eeeb16">00297</a> <a class="code" href="class_qwt_text.html">QwtText</a> <a class="code" href="class_qwt_compass.html#091c7ac5792d87e20bfc7efce9eeeb16">QwtCompass::scaleLabel</a>(<span class="keywordtype">double</span> value)<span class="keyword"> const</span><a name="l00298"></a>00298 <span class="keyword"></span>{<a name="l00299"></a>00299 <span class="preprocessor">#if 0</span><a name="l00300"></a>00300 <span class="preprocessor"></span>    <span class="comment">// better solution ???</span><a name="l00301"></a>00301     <span class="keywordflow">if</span> ( value == -0 )<a name="l00302"></a>00302         value = 0.0;<a name="l00303"></a>00303 <span class="preprocessor">#endif</span><a name="l00304"></a>00304 <span class="preprocessor"></span><a name="l00305"></a>00305     <span class="keywordflow">if</span> ( value &lt; 0.0 )<a name="l00306"></a>00306         value += 360.0;<a name="l00307"></a>00307 <a name="l00308"></a>00308     <span class="keywordflow">if</span> ( d_data-&gt;labelMap.contains(value) )<a name="l00309"></a>00309         <span class="keywordflow">return</span> d_data-&gt;labelMap[value];<a name="l00310"></a>00310 <a name="l00311"></a>00311     <span class="keywordflow">return</span> <a class="code" href="class_qwt_text.html">QwtText</a>();<a name="l00312"></a>00312 }</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 26 21:22:36 2007 for Qwt User's Guide by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?