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 &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->rose )<a name="l00147"></a>00147 d_data->rose->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->rose )<a name="l00160"></a>00160 {<a name="l00161"></a>00161 <span class="keywordflow">if</span> ( d_data->rose )<a name="l00162"></a>00162 <span class="keyword">delete</span> d_data->rose;<a name="l00163"></a>00163 <a name="l00164"></a>00164 d_data->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->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->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->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->key() >= Qt::Key_1 && kev->key() <= Qt::Key_9 )<a name="l00212"></a>00212 {<a name="l00213"></a>00213 <span class="keywordflow">if</span> ( mode() != RotateNeedle || kev->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->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<double, QString> &<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->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<double, QString> &<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->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<double, QString> &map) <a name="l00283"></a>00283 { <a name="l00284"></a>00284 d_data->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 < 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->labelMap.contains(value) )<a name="l00309"></a>00309 <span class="keywordflow">return</span> d_data->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 <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 + -
显示快捷键?