qwt__counter_8cpp-source.html
来自「QWT5.01用于Qt开发的二维图形库程序」· HTML 代码 · 共 532 行 · 第 1/3 页
HTML
532 行
<a name="l00427"></a>00427 <span class="keywordflow">else</span><a name="l00428"></a>00428 {<a name="l00429"></a>00429 <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i < ButtonCnt; i++ )<a name="l00430"></a>00430 {<a name="l00431"></a>00431 d_data->buttonDown[i]->setEnabled(<span class="keyword">false</span>);<a name="l00432"></a>00432 d_data->buttonUp[i]->setEnabled(<span class="keyword">false</span>);<a name="l00433"></a>00433 }<a name="l00434"></a>00434 }<a name="l00435"></a>00435 }<a name="l00436"></a>00436 <a name="l00441"></a><a class="code" href="class_qwt_counter.html#e9241fda2e375becdb484cc2cf7752f4">00441</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#e9241fda2e375becdb484cc2cf7752f4">QwtCounter::setNumButtons</a>(<span class="keywordtype">int</span> n)<a name="l00442"></a>00442 {<a name="l00443"></a>00443 <span class="keywordflow">if</span> ( n<0 || n>ButtonCnt )<a name="l00444"></a>00444 <span class="keywordflow">return</span>;<a name="l00445"></a>00445 <a name="l00446"></a>00446 <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i < ButtonCnt; i++ )<a name="l00447"></a>00447 {<a name="l00448"></a>00448 <span class="keywordflow">if</span> ( i < n )<a name="l00449"></a>00449 {<a name="l00450"></a>00450 d_data->buttonDown[i]->show();<a name="l00451"></a>00451 d_data->buttonUp[i]->show();<a name="l00452"></a>00452 }<a name="l00453"></a>00453 <span class="keywordflow">else</span><a name="l00454"></a>00454 {<a name="l00455"></a>00455 d_data->buttonDown[i]->hide();<a name="l00456"></a>00456 d_data->buttonUp[i]->hide();<a name="l00457"></a>00457 }<a name="l00458"></a>00458 }<a name="l00459"></a>00459 <a name="l00460"></a>00460 d_data->nButtons = n;<a name="l00461"></a>00461 }<a name="l00462"></a>00462 <a name="l00466"></a><a class="code" href="class_qwt_counter.html#c160c5e7a1c7f858b7f52ff0904ea142">00466</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_counter.html#c160c5e7a1c7f858b7f52ff0904ea142">QwtCounter::numButtons</a>()<span class="keyword"> const </span><a name="l00467"></a>00467 <span class="keyword"></span>{ <a name="l00468"></a>00468 <span class="keywordflow">return</span> d_data->nButtons; <a name="l00469"></a>00469 }<a name="l00470"></a>00470 <a name="l00472"></a>00472 <span class="keywordtype">void</span> QwtCounter::showNum(<span class="keywordtype">double</span> d)<a name="l00473"></a>00473 {<a name="l00474"></a>00474 QString v;<a name="l00475"></a>00475 v.setNum(d);<a name="l00476"></a>00476 <a name="l00477"></a>00477 <span class="keyword">const</span> <span class="keywordtype">int</span> cursorPos = d_data->valueEdit->cursorPosition();<a name="l00478"></a>00478 d_data->valueEdit->setText(v);<a name="l00479"></a>00479 d_data->valueEdit->setCursorPosition(cursorPos);<a name="l00480"></a>00480 }<a name="l00481"></a>00481 <a name="l00483"></a>00483 <span class="keywordtype">void</span> QwtCounter::btnClicked()<a name="l00484"></a>00484 {<a name="l00485"></a>00485 <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i < ButtonCnt; i++ )<a name="l00486"></a>00486 {<a name="l00487"></a>00487 <span class="keywordflow">if</span> ( d_data->buttonUp[i] == sender() )<a name="l00488"></a>00488 <a class="code" href="class_qwt_double_range.html#299c35c72e9b69f5a0e3dcd2b7da775b">incValue</a>(d_data->increment[i]);<a name="l00489"></a>00489 <a name="l00490"></a>00490 if ( d_data->buttonDown[i] == sender() )<a name="l00491"></a>00491 <a class="code" href="class_qwt_double_range.html#299c35c72e9b69f5a0e3dcd2b7da775b">incValue</a>(-d_data->increment[i]);<a name="l00492"></a>00492 }<a name="l00493"></a>00493 }<a name="l00494"></a>00494 <a name="l00496"></a>00496 <span class="keywordtype">void</span> QwtCounter::btnReleased()<a name="l00497"></a>00497 {<a name="l00498"></a>00498 emit <a class="code" href="class_qwt_counter.html#694ed7277e137e44bccc5918b4c15ecc">buttonReleased</a>(<a class="code" href="class_qwt_counter.html#121194fadd8cea929c1ac9509f27fe58">value</a>());<a name="l00499"></a>00499 }<a name="l00500"></a>00500 <a name="l00507"></a><a class="code" href="class_qwt_counter.html#4fd4e750b1f5a852250e57778a3e4159">00507</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#4fd4e750b1f5a852250e57778a3e4159">QwtCounter::rangeChange</a>()<a name="l00508"></a>00508 {<a name="l00509"></a>00509 updateButtons();<a name="l00510"></a>00510 }<a name="l00511"></a>00511 <a name="l00513"></a><a class="code" href="class_qwt_counter.html#9ccdfd602ccd5ecd8595172cd22b2b27">00513</a> QSize <a class="code" href="class_qwt_counter.html#9ccdfd602ccd5ecd8595172cd22b2b27">QwtCounter::sizeHint</a>()<span class="keyword"> const</span><a name="l00514"></a>00514 <span class="keyword"></span>{<a name="l00515"></a>00515 QString tmp;<a name="l00516"></a>00516 <a name="l00517"></a>00517 <span class="keywordtype">int</span> w = tmp.setNum(<a class="code" href="class_qwt_double_range.html#8b8650a6f8a96144d3af21207ee71637">minValue</a>()).length();<a name="l00518"></a>00518 <span class="keywordtype">int</span> w1 = tmp.setNum(<a class="code" href="class_qwt_double_range.html#215275a1a8b4218a424ee8444c7fe409">maxValue</a>()).length();<a name="l00519"></a>00519 <span class="keywordflow">if</span> ( w1 > w )<a name="l00520"></a>00520 w = w1;<a name="l00521"></a>00521 w1 = tmp.setNum(<a class="code" href="class_qwt_double_range.html#8b8650a6f8a96144d3af21207ee71637">minValue</a>() + <a class="code" href="class_qwt_counter.html#b3496bdd6bdb093462bca588880d8c1b">step</a>()).length();<a name="l00522"></a>00522 <span class="keywordflow">if</span> ( w1 > w )<a name="l00523"></a>00523 w = w1;<a name="l00524"></a>00524 w1 = tmp.setNum(<a class="code" href="class_qwt_double_range.html#215275a1a8b4218a424ee8444c7fe409">maxValue</a>() - <a class="code" href="class_qwt_counter.html#b3496bdd6bdb093462bca588880d8c1b">step</a>()).length();<a name="l00525"></a>00525 <span class="keywordflow">if</span> ( w1 > w )<a name="l00526"></a>00526 w = w1;<a name="l00527"></a>00527 <a name="l00528"></a>00528 tmp.fill(<span class="charliteral">'9'</span>, w);<a name="l00529"></a>00529 <a name="l00530"></a>00530 QFontMetrics fm(d_data->valueEdit->font());<a name="l00531"></a>00531 w = fm.width(tmp) + 2;<a name="l00532"></a>00532 <span class="preprocessor">#if QT_VERSION >= 0x040000</span><a name="l00533"></a>00533 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( d_data->valueEdit->hasFrame() )<a name="l00534"></a>00534 w += 2 * style()->pixelMetric(QStyle::PM_DefaultFrameWidth);<a name="l00535"></a>00535 <span class="preprocessor">#else</span><a name="l00536"></a>00536 <span class="preprocessor"></span> w += 2 * d_data->valueEdit->frameWidth(); <a name="l00537"></a>00537 <span class="preprocessor">#endif</span><a name="l00538"></a>00538 <span class="preprocessor"></span><a name="l00539"></a>00539 <span class="comment">// Now we replace default sizeHint contribution of d_data->valueEdit by</span><a name="l00540"></a>00540 <span class="comment">// what we really need.</span><a name="l00541"></a>00541 <a name="l00542"></a>00542 w += QWidget::sizeHint().width() - d_data->valueEdit->sizeHint().width();<a name="l00543"></a>00543 <a name="l00544"></a>00544 <span class="keyword">const</span> <span class="keywordtype">int</span> h = qwtMin(QWidget::sizeHint().height(), <a name="l00545"></a>00545 d_data->valueEdit->minimumSizeHint().height());<a name="l00546"></a>00546 <span class="keywordflow">return</span> QSize(w, h);<a name="l00547"></a>00547 }<a name="l00548"></a>00548 <a name="l00550"></a><a class="code" href="class_qwt_counter.html#b3496bdd6bdb093462bca588880d8c1b">00550</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_counter.html#b3496bdd6bdb093462bca588880d8c1b">QwtCounter::step</a>()<span class="keyword"> const</span><a name="l00551"></a>00551 <span class="keyword"></span>{<a name="l00552"></a>00552 <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_range.html#0cb8cc60548c10cb1d98e54387961967">QwtDoubleRange::step</a>();<a name="l00553"></a>00553 }<a name="l00554"></a>00554 <a name="l00556"></a><a class="code" href="class_qwt_counter.html#b885e97d0071877dfefb73feb0adc0cd">00556</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#b885e97d0071877dfefb73feb0adc0cd">QwtCounter::setStep</a>(<span class="keywordtype">double</span> s)<a name="l00557"></a>00557 {<a name="l00558"></a>00558 <a class="code" href="class_qwt_double_range.html#29ed5fc66439def424a8ad773eea285d">QwtDoubleRange::setStep</a>(s);<a name="l00559"></a>00559 }<a name="l00560"></a>00560 <a name="l00562"></a><a class="code" href="class_qwt_counter.html#491c846d83a5b7e6de27bc98de70279e">00562</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_counter.html#491c846d83a5b7e6de27bc98de70279e">QwtCounter::minVal</a>()<span class="keyword"> const</span><a name="l00563"></a>00563 <span class="keyword"></span>{<a name="l00564"></a>00564 <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_range.html#8b8650a6f8a96144d3af21207ee71637">minValue</a>();<a name="l00565"></a>00565 }<a name="l00566"></a>00566 <a name="l00568"></a><a class="code" href="class_qwt_counter.html#8c1b902c0805f3581568b4d700e79221">00568</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#8c1b902c0805f3581568b4d700e79221">QwtCounter::setMinValue</a>(<span class="keywordtype">double</span> m)<a name="l00569"></a>00569 {<a name="l00570"></a>00570 <a class="code" href="class_qwt_double_range.html#43891011664b74b8e5454763a3f5ff21">setRange</a>(m, <a class="code" href="class_qwt_double_range.html#215275a1a8b4218a424ee8444c7fe409">maxValue</a>(), <a class="code" href="class_qwt_counter.html#b3496bdd6bdb093462bca588880d8c1b">step</a>());<a name="l00571"></a>00571 }<a name="l00572"></a>00572 <a name="l00574"></a><a class="code" href="class_qwt_counter.html#cf0edc717951ef75d94789b68cd073e6">00574</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_counter.html#cf0edc717951ef75d94789b68cd073e6">QwtCounter::maxVal</a>()<span class="keyword"> const</span><a name="l00575"></a>00575 <span class="keyword"></span>{<a name="l00576"></a>00576 <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_range.html#215275a1a8b4218a424ee8444c7fe409">QwtDoubleRange::maxValue</a>();<a name="l00577"></a>00577 }<a name="l00578"></a>00578 <a name="l00580"></a><a class="code" href="class_qwt_counter.html#fd1de4657645bd41a8ccdaa21a7dc591">00580</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#fd1de4657645bd41a8ccdaa21a7dc591">QwtCounter::setMaxValue</a>(<span class="keywordtype">double</span> m)<a name="l00581"></a>00581 {<a name="l00582"></a>00582 <a class="code" href="class_qwt_double_range.html#43891011664b74b8e5454763a3f5ff21">setRange</a>(<a class="code" href="class_qwt_double_range.html#8b8650a6f8a96144d3af21207ee71637">minValue</a>(), m, <a class="code" href="class_qwt_counter.html#b3496bdd6bdb093462bca588880d8c1b">step</a>());<a name="l00583"></a>00583 }<a name="l00584"></a>00584 <a name="l00586"></a><a class="code" href="class_qwt_counter.html#e56a556a72955b6d10419f2c41779383">00586</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#e56a556a72955b6d10419f2c41779383">QwtCounter::setStepButton1</a>(<span class="keywordtype">int</span> nSteps)<a name="l00587"></a>00587 {<a name="l00588"></a>00588 <a class="code" href="class_qwt_counter.html#6aa68e7fc717fb0e2e48a978301c96eb">setIncSteps</a>(Button1, nSteps);<a name="l00589"></a>00589 }<a name="l00590"></a>00590 <a name="l00592"></a><a class="code" href="class_qwt_counter.html#8e0b28f111c45b3a2241fd8889bc8bce">00592</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_counter.html#8e0b28f111c45b3a2241fd8889bc8bce">QwtCounter::stepButton1</a>()<span class="keyword"> const</span><a name="l00593"></a>00593 <span class="keyword"></span>{<a name="l00594"></a>00594 <span class="keywordflow">return</span> <a class="code" href="class_qwt_counter.html#9c81b37e547358cc588311d941649de1">incSteps</a>(Button1);<a name="l00595"></a>00595 }<a name="l00596"></a>00596 <a name="l00598"></a><a class="code" href="class_qwt_counter.html#0d764a96706593d8c8b51338e92abfcc">00598</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#0d764a96706593d8c8b51338e92abfcc">QwtCounter::setStepButton2</a>(<span class="keywordtype">int</span> nSteps)<a name="l00599"></a>00599 {<a name="l00600"></a>00600 <a class="code" href="class_qwt_counter.html#6aa68e7fc717fb0e2e48a978301c96eb">setIncSteps</a>(Button2, nSteps);<a name="l00601"></a>00601 }<a name="l00602"></a>00602 <a name="l00604"></a><a class="code" href="class_qwt_counter.html#7d99de95e1c05e4994413e6d8cd641fe">00604</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_counter.html#7d99de95e1c05e4994413e6d8cd641fe">QwtCounter::stepButton2</a>()<span class="keyword"> const</span><a name="l00605"></a>00605 <span class="keyword"></span>{<a name="l00606"></a>00606 <span class="keywordflow">return</span> <a class="code" href="class_qwt_counter.html#9c81b37e547358cc588311d941649de1">incSteps</a>(Button2);<a name="l00607"></a>00607 }<a name="l00608"></a>00608 <a name="l00610"></a><a class="code" href="class_qwt_counter.html#8b55539578de083793b8310cb8909294">00610</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_counter.html#8b55539578de083793b8310cb8909294">QwtCounter::setStepButton3</a>(<span class="keywordtype">int</span> nSteps)<a name="l00611"></a>00611 {<a name="l00612"></a>00612 <a class="code" href="class_qwt_counter.html#6aa68e7fc717fb0e2e48a978301c96eb">setIncSteps</a>(Button3, nSteps);<a name="l00613"></a>00613 }<a name="l00614"></a>00614 <a name="l00616"></a><a class="code" href="class_qwt_counter.html#bc6eb2073cc7d7b5f1d7e4c6c7b205c9">00616</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_counter.html#bc6eb2073cc7d7b5f1d7e4c6c7b205c9">QwtCounter::stepButton3</a>()<span class="keyword"> const</span><a name="l00617"></a>00617 <span class="keyword"></span>{<a name="l00618"></a>00618 <span class="keywordflow">return</span> <a class="code" href="class_qwt_counter.html#9c81b37e547358cc588311d941649de1">incSteps</a>(Button3);<a name="l00619"></a>00619 }<a name="l00620"></a>00620 <a name="l00621"></a><a class="code" href="class_qwt_counter.html#121194fadd8cea929c1ac9509f27fe58">00621</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_counter.html#121194fadd8cea929c1ac9509f27fe58">QwtCounter::value</a>()<span class="keyword"> const</span><a name="l00622"></a>00622 <span class="keyword"></span>{<a name="l00623"></a>00623 <span class="keywordflow">return</span> <a class="code" href="class_qwt_double_range.html#7777cf257c812579c4891512f1b6cad0">QwtDoubleRange::value</a>();<a name="l00624"></a>00624 }<a name="l00625"></a>00625 </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 + -
显示快捷键?