📄 qwt__thermo_8cpp-source.html
字号:
<a name="l00305"></a>00305 r.y() + mbd + d_data->borderWidth,<a name="l00306"></a>00306 d_data->thermoWidth,<a name="l00307"></a>00307 r.height() - 2*(d_data->borderWidth + mbd));<a name="l00308"></a>00308 <a class="code" href="class_qwt_thermo.html#aacb94a49eb05c91a3896d202f79ec46">scaleDraw</a>()-><a class="code" href="class_qwt_scale_draw.html#7a4de0055dc1358e55c3357366a54091">setAlignment</a>(QwtScaleDraw::LeftScale);<a name="l00309"></a>00309 <a class="code" href="class_qwt_thermo.html#aacb94a49eb05c91a3896d202f79ec46">scaleDraw</a>()-><a class="code" href="class_qwt_scale_draw.html#d301aed0c797c10f0104976d1a62ff69">move</a>(<a name="l00310"></a>00310 d_data->thermoRect.x() - d_data->scaleDist <a name="l00311"></a>00311 - d_data->borderWidth,<a name="l00312"></a>00312 d_data->thermoRect.y() );<a name="l00313"></a>00313 <a class="code" href="class_qwt_thermo.html#aacb94a49eb05c91a3896d202f79ec46">scaleDraw</a>()-><a class="code" href="class_qwt_scale_draw.html#2094e09579671d0a8e4b14a636eba6ef">setLength</a>(d_data->thermoRect.height());<a name="l00314"></a>00314 <span class="keywordflow">break</span>;<a name="l00315"></a>00315 }<a name="l00316"></a>00316 }<a name="l00317"></a>00317 d_data->map.setPaintInterval(<a name="l00318"></a>00318 d_data->thermoRect.y() + d_data->thermoRect.height() - 1,<a name="l00319"></a>00319 d_data->thermoRect.y());<a name="l00320"></a>00320 }<a name="l00321"></a>00321 <span class="keywordflow">if</span> ( update_geometry )<a name="l00322"></a>00322 {<a name="l00323"></a>00323 updateGeometry();<a name="l00324"></a>00324 update();<a name="l00325"></a>00325 }<a name="l00326"></a>00326 }<a name="l00327"></a>00327 <a name="l00346"></a><a class="code" href="class_qwt_thermo.html#c75f2d908e4e9315ac764cfc2dc920e1">00346</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_thermo.html#c75f2d908e4e9315ac764cfc2dc920e1">QwtThermo::setOrientation</a>(Qt::Orientation o, <a class="code" href="class_qwt_thermo.html#adfd670812eef5a798dcdb58cffb039b">ScalePos</a> s)<a name="l00347"></a>00347 {<a name="l00348"></a>00348 <span class="keywordflow">if</span> ( o == d_data->orientation && s == d_data->scalePos )<a name="l00349"></a>00349 <span class="keywordflow">return</span>;<a name="l00350"></a>00350 <a name="l00351"></a>00351 <span class="keywordflow">switch</span>(o)<a name="l00352"></a>00352 {<a name="l00353"></a>00353 <span class="keywordflow">case</span> Qt::Horizontal:<a name="l00354"></a>00354 {<a name="l00355"></a>00355 <span class="keywordflow">if</span> ((s == NoScale) || (s == BottomScale) || (s == TopScale))<a name="l00356"></a>00356 d_data->scalePos = s;<a name="l00357"></a>00357 <span class="keywordflow">else</span><a name="l00358"></a>00358 d_data->scalePos = NoScale;<a name="l00359"></a>00359 <span class="keywordflow">break</span>;<a name="l00360"></a>00360 }<a name="l00361"></a>00361 <span class="keywordflow">case</span> Qt::Vertical:<a name="l00362"></a>00362 {<a name="l00363"></a>00363 <span class="keywordflow">if</span> ((s == NoScale) || (s == LeftScale) || (s == RightScale))<a name="l00364"></a>00364 d_data->scalePos = s;<a name="l00365"></a>00365 <span class="keywordflow">else</span><a name="l00366"></a>00366 d_data->scalePos = NoScale;<a name="l00367"></a>00367 <span class="keywordflow">break</span>;<a name="l00368"></a>00368 }<a name="l00369"></a>00369 }<a name="l00370"></a>00370 <a name="l00371"></a>00371 <span class="keywordflow">if</span> ( o != d_data->orientation )<a name="l00372"></a>00372 {<a name="l00373"></a>00373 <span class="preprocessor">#if QT_VERSION >= 0x040000</span><a name="l00374"></a>00374 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( !testAttribute(Qt::WA_WState_OwnSizePolicy) )<a name="l00375"></a>00375 <span class="preprocessor">#else</span><a name="l00376"></a>00376 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( !testWState( WState_OwnSizePolicy ) )<a name="l00377"></a>00377 <span class="preprocessor">#endif</span><a name="l00378"></a>00378 <span class="preprocessor"></span> {<a name="l00379"></a>00379 QSizePolicy sp = sizePolicy();<a name="l00380"></a>00380 sp.transpose();<a name="l00381"></a>00381 setSizePolicy(sp);<a name="l00382"></a>00382 <a name="l00383"></a>00383 <span class="preprocessor">#if QT_VERSION >= 0x040000</span><a name="l00384"></a>00384 <span class="preprocessor"></span> setAttribute(Qt::WA_WState_OwnSizePolicy, <span class="keyword">false</span>);<a name="l00385"></a>00385 <span class="preprocessor">#else</span><a name="l00386"></a>00386 <span class="preprocessor"></span> clearWState( WState_OwnSizePolicy );<a name="l00387"></a>00387 <span class="preprocessor">#endif</span><a name="l00388"></a>00388 <span class="preprocessor"></span> }<a name="l00389"></a>00389 }<a name="l00390"></a>00390 <a name="l00391"></a>00391 d_data->orientation = o;<a name="l00392"></a>00392 <a class="code" href="class_qwt_thermo.html#29ce009b8b0546b7ce04936d27fb8364">layoutThermo</a>();<a name="l00393"></a>00393 }<a name="l00394"></a>00394 <a name="l00409"></a><a class="code" href="class_qwt_thermo.html#4dac08b98a634918178bc69f3352cffd">00409</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_thermo.html#4dac08b98a634918178bc69f3352cffd">QwtThermo::setScalePosition</a>(<a class="code" href="class_qwt_thermo.html#adfd670812eef5a798dcdb58cffb039b">ScalePos</a> s)<a name="l00410"></a>00410 {<a name="l00411"></a>00411 <span class="keywordflow">if</span> ((s == BottomScale) || (s == TopScale))<a name="l00412"></a>00412 <a class="code" href="class_qwt_thermo.html#c75f2d908e4e9315ac764cfc2dc920e1">setOrientation</a>(Qt::Horizontal, s);<a name="l00413"></a>00413 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((s == LeftScale) || (s == RightScale))<a name="l00414"></a>00414 <a class="code" href="class_qwt_thermo.html#c75f2d908e4e9315ac764cfc2dc920e1">setOrientation</a>(Qt::Vertical, s);<a name="l00415"></a>00415 <span class="keywordflow">else</span><a name="l00416"></a>00416 <a class="code" href="class_qwt_thermo.html#c75f2d908e4e9315ac764cfc2dc920e1">setOrientation</a>(d_data->orientation, NoScale);<a name="l00417"></a>00417 }<a name="l00418"></a>00418 <a name="l00420"></a><a class="code" href="class_qwt_thermo.html#4eef07dad032e3e6d65b3e9ece076190">00420</a> <a class="code" href="class_qwt_thermo.html#adfd670812eef5a798dcdb58cffb039b">QwtThermo::ScalePos</a> <a class="code" href="class_qwt_thermo.html#4eef07dad032e3e6d65b3e9ece076190">QwtThermo::scalePosition</a>()<span class="keyword"> const</span><a name="l00421"></a>00421 <span class="keyword"></span>{<a name="l00422"></a>00422 <span class="keywordflow">return</span> d_data->scalePos;<a name="l00423"></a>00423 }<a name="l00424"></a>00424 <a name="l00426"></a><a class="code" href="class_qwt_thermo.html#20c19809bb9674a2e1ad2f2501a3d44a">00426</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_thermo.html#20c19809bb9674a2e1ad2f2501a3d44a">QwtThermo::fontChange</a>(<span class="keyword">const</span> QFont &f)<a name="l00427"></a>00427 {<a name="l00428"></a>00428 QWidget::fontChange( f );<a name="l00429"></a>00429 <a class="code" href="class_qwt_thermo.html#29ce009b8b0546b7ce04936d27fb8364">layoutThermo</a>();<a name="l00430"></a>00430 }<a name="l00431"></a>00431 <a name="l00433"></a><a class="code" href="class_qwt_thermo.html#3f2f5077580235a5a776805a9721c8ba">00433</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_thermo.html#3f2f5077580235a5a776805a9721c8ba">QwtThermo::scaleChange</a>()<a name="l00434"></a>00434 {<a name="l00435"></a>00435 update();<a name="l00436"></a>00436 <a class="code" href="class_qwt_thermo.html#29ce009b8b0546b7ce04936d27fb8364">layoutThermo</a>();<a name="l00437"></a>00437 }<a name="l00438"></a>00438 <a name="l00440"></a><a class="code" href="class_qwt_thermo.html#1208e039b825fa252e37c3c442a21a83">00440</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_thermo.html#1208e039b825fa252e37c3c442a21a83">QwtThermo::drawThermo</a>(QPainter *p)<a name="l00441"></a>00441 {<a name="l00442"></a>00442 <span class="keywordtype">int</span> alarm = 0, taval = 0;<a name="l00443"></a>00443 <a name="l00444"></a>00444 QRect fRect;<a name="l00445"></a>00445 QRect aRect;<a name="l00446"></a>00446 QRect bRect;<a name="l00447"></a>00447 <a name="l00448"></a>00448 <span class="keywordtype">int</span> inverted = ( d_data->maxValue < d_data->minValue );<a name="l00449"></a>00449 <a name="l00450"></a>00450 <span class="comment">//</span><a name="l00451"></a>00451 <span class="comment">// Determine if value exceeds alarm threshold.</span><a name="l00452"></a>00452 <span class="comment">// Note: The alarm value is allowed to lie</span><a name="l00453"></a>00453 <span class="comment">// outside the interval (minValue, maxValue).</span><a name="l00454"></a>00454 <span class="comment">//</span><a name="l00455"></a>00455 <span class="keywordflow">if</span> (d_data->alarmEnabled)<a name="l00456"></a>00456 {<a name="l00457"></a>00457 <span class="keywordflow">if</span> (inverted)<a name="l00458"></a>00458 {<a name="l00459"></a>00459 alarm = ((d_data->alarmLevel >= d_data->maxValue)<a name="l00460"></a>00460 && (d_data->alarmLevel <= d_data->minValue)<a name="l00461"></a>00461 && (d_data->value >= d_data->alarmLevel));<a name="l00462"></a>00462 <a name="l00463"></a>00463 }<a name="l00464"></a>00464 <span class="keywordflow">else</span><a name="l00465"></a>00465 {<a name="l00466"></a>00466 alarm = (( d_data->alarmLevel >= d_data->minValue)<a name="l00467"></a>00467 && (d_data->alarmLevel <= d_data->maxValue)<a name="l00468"></a>00468 && (d_data->value >= d_data->alarmLevel));<a name="l00469"></a>00469 }<a name="l00470"></a>00470 }<a name="l00471"></a>00471 <a name="l00472"></a>00472 <span class="comment">//</span><a name="l00473"></a>00473 <span class="comment">// transform values</span><a name="l00474"></a>00474 <span class="comment">//</span><a name="l00475"></a>00475 <span class="keywordtype">int</span> tval = transform(d_data->value);<a name="l00476"></a>00476 <a name="l00477"></a>00477 <span class="keywordflow">if</span> (alarm)<a name="l00478"></a>00478 taval = transform(d_data->alarmLevel);<a name="l00479"></a>00479 <a name="l00480"></a>00480 <span class="comment">//</span><a name="l00481"></a>00481 <span class="comment">// calculate recangles</span><a name="l00482"></a>00482 <span class="comment">//</span><a name="l00483"></a>00483 <span class="keywordflow">if</span> ( d_data->orientation == Qt::Horizontal )<a name="l00484"></a>00484 {<a name="l00485"></a>00485 <span class="keywordflow">if</span> (inverted)<a name="l00486"></a>00486 {<a name="l00487"></a>00487 bRect.setRect(d_data->thermoRect.x(), d_data->thermoRect.y(),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -