⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwt__abstract__slider_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<a name="l00379"></a>00379     <span class="keywordflow">if</span> ( !<a class="code" href="class_qwt_abstract_slider.html#87c750f098cb5f70306a7908339cb88e">isValid</a>() )<a name="l00380"></a>00380         <span class="keywordflow">return</span>;<a name="l00381"></a>00381 <a name="l00382"></a>00382     <span class="keywordtype">int</span> increment = 0;<a name="l00383"></a>00383     <span class="keywordflow">switch</span> ( e-&gt;key() ) <a name="l00384"></a>00384     {<a name="l00385"></a>00385         <span class="keywordflow">case</span> Qt::Key_Down:<a name="l00386"></a>00386             <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Vertical )<a name="l00387"></a>00387                 increment = -1;<a name="l00388"></a>00388             <span class="keywordflow">break</span>;<a name="l00389"></a>00389         <span class="keywordflow">case</span> Qt::Key_Up:<a name="l00390"></a>00390             <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Vertical )<a name="l00391"></a>00391                 increment = 1;<a name="l00392"></a>00392             <span class="keywordflow">break</span>;<a name="l00393"></a>00393         <span class="keywordflow">case</span> Qt::Key_Left:<a name="l00394"></a>00394             <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Horizontal )<a name="l00395"></a>00395                 increment = -1;<a name="l00396"></a>00396             <span class="keywordflow">break</span>;<a name="l00397"></a>00397         <span class="keywordflow">case</span> Qt::Key_Right:<a name="l00398"></a>00398             <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Horizontal )<a name="l00399"></a>00399                 increment = 1;<a name="l00400"></a>00400             <span class="keywordflow">break</span>;<a name="l00401"></a>00401         <span class="keywordflow">default</span>:;<a name="l00402"></a>00402             e-&gt;ignore();<a name="l00403"></a>00403     }<a name="l00404"></a>00404 <a name="l00405"></a>00405     <span class="keywordflow">if</span> ( increment != 0 )<a name="l00406"></a>00406     {<a name="l00407"></a>00407         <a class="code" href="class_qwt_double_range.html#299c35c72e9b69f5a0e3dcd2b7da775b">QwtDoubleRange::incValue</a>(increment);<a name="l00408"></a>00408         <span class="keywordflow">if</span> (value() != prevValue())<a name="l00409"></a>00409             emit sliderMoved(value());<a name="l00410"></a>00410     }<a name="l00411"></a>00411 }<a name="l00412"></a>00412 <a name="l00417"></a><a class="code" href="class_qwt_abstract_slider.html#26f4d684524925891113d46ffe383b5d">00417</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#26f4d684524925891113d46ffe383b5d">QwtAbstractSlider::timerEvent</a>(QTimerEvent *)<a name="l00418"></a>00418 {<a name="l00419"></a>00419     <span class="keyword">const</span> <span class="keywordtype">double</span> inc = <a class="code" href="class_qwt_double_range.html#0cb8cc60548c10cb1d98e54387961967">step</a>();<a name="l00420"></a>00420 <a name="l00421"></a>00421     <span class="keywordflow">switch</span> (d_data-&gt;scrollMode)<a name="l00422"></a>00422     {<a name="l00423"></a>00423         <span class="keywordflow">case</span> ScrMouse:<a name="l00424"></a>00424         {<a name="l00425"></a>00425             <span class="keywordflow">if</span> (d_data-&gt;mass &gt; 0.0)<a name="l00426"></a>00426             {<a name="l00427"></a>00427                 d_data-&gt;speed *= exp( - <span class="keywordtype">double</span>(d_data-&gt;updTime) * 0.001 / d_data-&gt;mass );<a name="l00428"></a>00428                 <span class="keyword">const</span> <span class="keywordtype">double</span> newval = <a name="l00429"></a>00429                     <a class="code" href="class_qwt_double_range.html#705b76d28882d37bc5313d6c38c9a720">exactValue</a>() + d_data-&gt;speed * double(d_data-&gt;updTime);<a name="l00430"></a>00430                 <a class="code" href="class_qwt_double_range.html#63bc8ea5e7ecd776b7d32d21db1ea668">QwtDoubleRange::fitValue</a>(newval);<a name="l00431"></a>00431                 <span class="comment">// stop if d_data-&gt;speed &lt; one step per second</span><a name="l00432"></a>00432                 <span class="keywordflow">if</span> (fabs(d_data-&gt;speed) &lt; 0.001 * fabs(<a class="code" href="class_qwt_double_range.html#0cb8cc60548c10cb1d98e54387961967">step</a>()))<a name="l00433"></a>00433                 {<a name="l00434"></a>00434                     d_data-&gt;speed = 0;<a name="l00435"></a>00435                     <a class="code" href="class_qwt_abstract_slider.html#b648229c972d0c3258d30b0c43eb5efc">stopMoving</a>();<a name="l00436"></a>00436                     buttonReleased();<a name="l00437"></a>00437                 }<a name="l00438"></a>00438 <a name="l00439"></a>00439             }<a name="l00440"></a>00440             <span class="keywordflow">else</span><a name="l00441"></a>00441                <a class="code" href="class_qwt_abstract_slider.html#b648229c972d0c3258d30b0c43eb5efc">stopMoving</a>();<a name="l00442"></a>00442             <span class="keywordflow">break</span>;<a name="l00443"></a>00443         }<a name="l00444"></a>00444 <a name="l00445"></a>00445         <span class="keywordflow">case</span> ScrPage:<a name="l00446"></a>00446         {<a name="l00447"></a>00447             <a class="code" href="class_qwt_double_range.html#19b85337d4ab0b5f0579b02e4fb29a8f">QwtDoubleRange::incPages</a>(d_data-&gt;direction);<a name="l00448"></a>00448             <span class="keywordflow">if</span> (!d_data-&gt;timerTick) <a name="l00449"></a>00449             {<a name="l00450"></a>00450                 killTimer(d_data-&gt;tmrID);<a name="l00451"></a>00451                 d_data-&gt;tmrID = startTimer(d_data-&gt;updTime);<a name="l00452"></a>00452             }<a name="l00453"></a>00453             <span class="keywordflow">break</span>;<a name="l00454"></a>00454         }<a name="l00455"></a>00455         <span class="keywordflow">case</span> ScrTimer:<a name="l00456"></a>00456         {<a name="l00457"></a>00457             <a class="code" href="class_qwt_double_range.html#63bc8ea5e7ecd776b7d32d21db1ea668">QwtDoubleRange::fitValue</a>(<a class="code" href="class_qwt_double_range.html#7777cf257c812579c4891512f1b6cad0">value</a>() +  <span class="keywordtype">double</span>(d_data-&gt;direction) * inc);<a name="l00458"></a>00458             <span class="keywordflow">if</span> (!d_data-&gt;timerTick) <a name="l00459"></a>00459             {<a name="l00460"></a>00460                 killTimer(d_data-&gt;tmrID);<a name="l00461"></a>00461                 d_data-&gt;tmrID = startTimer(d_data-&gt;updTime);<a name="l00462"></a>00462             }<a name="l00463"></a>00463             <span class="keywordflow">break</span>;<a name="l00464"></a>00464         }<a name="l00465"></a>00465         <span class="keywordflow">default</span>:<a name="l00466"></a>00466         {<a name="l00467"></a>00467             <a class="code" href="class_qwt_abstract_slider.html#b648229c972d0c3258d30b0c43eb5efc">stopMoving</a>();<a name="l00468"></a>00468             <span class="keywordflow">break</span>;<a name="l00469"></a>00469         }<a name="l00470"></a>00470     }<a name="l00471"></a>00471 <a name="l00472"></a>00472     d_data-&gt;timerTick = 1;<a name="l00473"></a>00473 }<a name="l00474"></a>00474 <a name="l00475"></a>00475 <a name="l00484"></a><a class="code" href="class_qwt_abstract_slider.html#2f04dc51e4402b51fef3250bcc99dc7f">00484</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#2f04dc51e4402b51fef3250bcc99dc7f">QwtAbstractSlider::valueChange</a>() <a name="l00485"></a>00485 {<a name="l00486"></a>00486     <span class="keywordflow">if</span> (d_data-&gt;tracking)<a name="l00487"></a>00487        emit <a class="code" href="class_qwt_abstract_slider.html#6bc5c410cd56119c6ad50743c9a46af1">valueChanged</a>(<a class="code" href="class_qwt_double_range.html#7777cf257c812579c4891512f1b6cad0">value</a>());  <a name="l00488"></a>00488 }<a name="l00489"></a>00489 <a name="l00507"></a><a class="code" href="class_qwt_abstract_slider.html#305b137fe4dd80cba307fe1b4bd46272">00507</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#305b137fe4dd80cba307fe1b4bd46272">QwtAbstractSlider::setMass</a>(<span class="keywordtype">double</span> val)<a name="l00508"></a>00508 {<a name="l00509"></a>00509     <span class="keywordflow">if</span> (val &lt; 0.001)<a name="l00510"></a>00510        d_data-&gt;mass = 0.0;<a name="l00511"></a>00511     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (val &gt; 100.0)<a name="l00512"></a>00512        d_data-&gt;mass = 100.0;<a name="l00513"></a>00513     <span class="keywordflow">else</span><a name="l00514"></a>00514        d_data-&gt;mass = val;<a name="l00515"></a>00515 }<a name="l00516"></a>00516 <a name="l00521"></a><a class="code" href="class_qwt_abstract_slider.html#130105fc2001c53cea65f21b03f0b5db">00521</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_abstract_slider.html#130105fc2001c53cea65f21b03f0b5db">QwtAbstractSlider::mass</a>()<span class="keyword"> const</span><a name="l00522"></a>00522 <span class="keyword"></span>{   <a name="l00523"></a>00523     <span class="keywordflow">return</span> d_data-&gt;mass; <a name="l00524"></a>00524 }<a name="l00525"></a>00525 <a name="l00526"></a>00526 <a name="l00535"></a><a class="code" href="class_qwt_abstract_slider.html#c3713f8989b647cb79f0a5894991e36a">00535</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#c3713f8989b647cb79f0a5894991e36a">QwtAbstractSlider::setValue</a>(<span class="keywordtype">double</span> val)<a name="l00536"></a>00536 {<a name="l00537"></a>00537     <span class="keywordflow">if</span> (d_data-&gt;scrollMode == ScrMouse) <a name="l00538"></a>00538         <a class="code" href="class_qwt_abstract_slider.html#b648229c972d0c3258d30b0c43eb5efc">stopMoving</a>();<a name="l00539"></a>00539     <a class="code" href="class_qwt_double_range.html#f6a3aa74c970a2bef29f0c1af99720e8">QwtDoubleRange::setValue</a>(val);<a name="l00540"></a>00540 }<a name="l00541"></a>00541 <a name="l00542"></a>00542 <a name="l00550"></a><a class="code" href="class_qwt_abstract_slider.html#50ed1e265beaa1c8adbe718caa023e50">00550</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#50ed1e265beaa1c8adbe718caa023e50">QwtAbstractSlider::fitValue</a>(<span class="keywordtype">double</span> value)<a name="l00551"></a>00551 {<a name="l00552"></a>00552     <span class="keywordflow">if</span> (d_data-&gt;scrollMode == ScrMouse) <a name="l00553"></a>00553         <a class="code" href="class_qwt_abstract_slider.html#b648229c972d0c3258d30b0c43eb5efc">stopMoving</a>();<a name="l00554"></a>00554     <a class="code" href="class_qwt_double_range.html#63bc8ea5e7ecd776b7d32d21db1ea668">QwtDoubleRange::fitValue</a>(value);<a name="l00555"></a>00555 }<a name="l00556"></a>00556 <a name="l00562"></a><a class="code" href="class_qwt_abstract_slider.html#5fccdb2ca370bba9ed4d29864fd80788">00562</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#5fccdb2ca370bba9ed4d29864fd80788">QwtAbstractSlider::incValue</a>(<span class="keywordtype">int</span> steps)<a name="l00563"></a>00563 {<a name="l00564"></a>00564     <span class="keywordflow">if</span> (d_data-&gt;scrollMode == ScrMouse) <a name="l00565"></a>00565         <a class="code" href="class_qwt_abstract_slider.html#b648229c972d0c3258d30b0c43eb5efc">stopMoving</a>();<a name="l00566"></a>00566     <a class="code" href="class_qwt_double_range.html#299c35c72e9b69f5a0e3dcd2b7da775b">QwtDoubleRange::incValue</a>(steps);<a name="l00567"></a>00567 }<a name="l00568"></a>00568 <a name="l00569"></a><a class="code" href="class_qwt_abstract_slider.html#120e5a03094ef0baf793000972a21722">00569</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_abstract_slider.html#120e5a03094ef0baf793000972a21722">QwtAbstractSlider::setMouseOffset</a>(<span class="keywordtype">double</span> offset)<a name="l00570"></a>00570 {<a name="l00571"></a>00571     d_data-&gt;mouseOffset = offset;<a name="l00572"></a>00572 } <a name="l00573"></a>00573 <a name="l00574"></a><a class="code" href="class_qwt_abstract_slider.html#138397a755057932b5da72f526fc74e6">00574</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_abstract_slider.html#138397a755057932b5da72f526fc74e6">QwtAbstractSlider::mouseOffset</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> d_data-&gt;mouseOffset;<a name="l00577"></a>00577 }<a name="l00578"></a>00578 <a name="l00579"></a><a class="code" href="class_qwt_abstract_slider.html#4a1b9e022180a8567f09632388002396">00579</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_abstract_slider.html#4a1b9e022180a8567f09632388002396">QwtAbstractSlider::scrollMode</a>()<span class="keyword"> const</span><a name="l00580"></a>00580 <span class="keyword"></span>{<a name="l00581"></a>00581     <span class="keywordflow">return</span> d_data-&gt;scrollMode;<a name="l00582"></a>00582 }</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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -