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

📄 qwt__picker_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00766"></a>00766     <span class="keywordtype">int</span> bottom = qwtMin(textRect.bottom(), pickRect().bottom() - margin);<a name="l00767"></a>00767     textRect.moveBottomRight(QPoint(right, bottom));<a name="l00768"></a>00768 <a name="l00769"></a>00769     <span class="keywordtype">int</span> left = qwtMax(textRect.left(), pickRect().left() + margin);<a name="l00770"></a>00770     <span class="keywordtype">int</span> top = qwtMax(textRect.top(), pickRect().top() + margin);<a name="l00771"></a>00771     textRect.moveTopLeft(QPoint(left, top));<a name="l00772"></a>00772 <a name="l00773"></a>00773     <span class="keywordflow">return</span> textRect;<a name="l00774"></a>00774 }<a name="l00775"></a>00775 <a name="l00788"></a><a class="code" href="class_qwt_picker.html#c149f9cb8fb068f31871e1fe450c376e">00788</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_picker.html#c149f9cb8fb068f31871e1fe450c376e">QwtPicker::eventFilter</a>(QObject *o, QEvent *e)<a name="l00789"></a>00789 {<a name="l00790"></a>00790     <span class="keywordflow">if</span> ( o &amp;&amp; o == <a class="code" href="class_qwt_picker.html#da0c12257e006f0066d22c3eb83f667e">parentWidget</a>() )<a name="l00791"></a>00791     {<a name="l00792"></a>00792         <span class="keywordflow">switch</span>(e-&gt;type())<a name="l00793"></a>00793         {<a name="l00794"></a>00794             <span class="keywordflow">case</span> QEvent::Resize:<a name="l00795"></a>00795             {<a name="l00796"></a>00796                 <span class="keyword">const</span> QResizeEvent *re = (QResizeEvent *)e;<a name="l00797"></a>00797                 <span class="keywordflow">if</span> ( d_data-&gt;resizeMode == Stretch )<a name="l00798"></a>00798                     <a class="code" href="class_qwt_picker.html#24b0e4bcf6a9b7f41c81ea19305105a8">stretchSelection</a>(re-&gt;oldSize(), re-&gt;size());<a name="l00799"></a>00799 <a name="l00800"></a>00800                 <span class="keywordflow">if</span> ( d_data-&gt;rubberBandWidget )<a name="l00801"></a>00801                     d_data-&gt;rubberBandWidget-&gt;resize(re-&gt;size());<a name="l00802"></a>00802              <a name="l00803"></a>00803                 <span class="keywordflow">if</span> ( d_data-&gt;trackerWidget )<a name="l00804"></a>00804                     d_data-&gt;trackerWidget-&gt;resize(re-&gt;size());<a name="l00805"></a>00805                 <span class="keywordflow">break</span>;<a name="l00806"></a>00806             }<a name="l00807"></a>00807             <span class="keywordflow">case</span> QEvent::Leave:<a name="l00808"></a>00808                 <a class="code" href="class_qwt_picker.html#8a2a18f2b98c8524b1d3684df44c24aa">widgetLeaveEvent</a>(e);<a name="l00809"></a>00809                 <span class="keywordflow">break</span>;<a name="l00810"></a>00810             <span class="keywordflow">case</span> QEvent::MouseButtonPress:<a name="l00811"></a>00811                 <a class="code" href="class_qwt_picker.html#4bfae8da37c3936ae73d4798cca4a3d9">widgetMousePressEvent</a>((QMouseEvent *)e);<a name="l00812"></a>00812                 <span class="keywordflow">break</span>;<a name="l00813"></a>00813             <span class="keywordflow">case</span> QEvent::MouseButtonRelease:<a name="l00814"></a>00814                 <a class="code" href="class_qwt_picker.html#c009633e005b6290e07b902f2a58e45e">widgetMouseReleaseEvent</a>((QMouseEvent *)e);<a name="l00815"></a>00815                 <span class="keywordflow">break</span>;<a name="l00816"></a>00816             <span class="keywordflow">case</span> QEvent::MouseButtonDblClick:<a name="l00817"></a>00817                 <a class="code" href="class_qwt_picker.html#f1ffb07c24be57cd4a753b04412b3212">widgetMouseDoubleClickEvent</a>((QMouseEvent *)e);<a name="l00818"></a>00818                 <span class="keywordflow">break</span>;<a name="l00819"></a>00819             <span class="keywordflow">case</span> QEvent::MouseMove:<a name="l00820"></a>00820                 <a class="code" href="class_qwt_picker.html#88b203109a4d3b26c2e0bee110c56c9d">widgetMouseMoveEvent</a>((QMouseEvent *)e);<a name="l00821"></a>00821                 <span class="keywordflow">break</span>;<a name="l00822"></a>00822             <span class="keywordflow">case</span> QEvent::KeyPress:<a name="l00823"></a>00823                 <a class="code" href="class_qwt_picker.html#f5bc441b2fc143363563922a3b3c70ae">widgetKeyPressEvent</a>((QKeyEvent *)e);<a name="l00824"></a>00824                 <span class="keywordflow">break</span>;<a name="l00825"></a>00825             <span class="keywordflow">case</span> QEvent::KeyRelease:<a name="l00826"></a>00826                 <a class="code" href="class_qwt_picker.html#9f2c739a619be794b22a10ede9674a1e">widgetKeyReleaseEvent</a>((QKeyEvent *)e);<a name="l00827"></a>00827                 <span class="keywordflow">break</span>;<a name="l00828"></a>00828             <span class="keywordflow">case</span> QEvent::Wheel:<a name="l00829"></a>00829                 <a class="code" href="class_qwt_picker.html#f92ffabe291a6254378dc932c5cce0a7">widgetWheelEvent</a>((QWheelEvent *)e);<a name="l00830"></a>00830                 <span class="keywordflow">break</span>;<a name="l00831"></a>00831             <span class="keywordflow">default</span>:<a name="l00832"></a>00832                 <span class="keywordflow">break</span>;<a name="l00833"></a>00833         }<a name="l00834"></a>00834     }<a name="l00835"></a>00835     <span class="keywordflow">return</span> <span class="keyword">false</span>;<a name="l00836"></a>00836 }<a name="l00837"></a>00837 <a name="l00848"></a><a class="code" href="class_qwt_picker.html#4bfae8da37c3936ae73d4798cca4a3d9">00848</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#4bfae8da37c3936ae73d4798cca4a3d9">QwtPicker::widgetMousePressEvent</a>(QMouseEvent *e)<a name="l00849"></a>00849 {<a name="l00850"></a>00850     <a class="code" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a>(e);<a name="l00851"></a>00851 }<a name="l00852"></a>00852 <a name="l00862"></a><a class="code" href="class_qwt_picker.html#88b203109a4d3b26c2e0bee110c56c9d">00862</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#88b203109a4d3b26c2e0bee110c56c9d">QwtPicker::widgetMouseMoveEvent</a>(QMouseEvent *e)<a name="l00863"></a>00863 {<a name="l00864"></a>00864     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_picker.html#0e5cd6fc09ec2f3bfa9a766067b518a6">pickRect</a>().contains(e-&gt;pos()) )<a name="l00865"></a>00865         d_data-&gt;labelPosition = e-&gt;pos();<a name="l00866"></a>00866     <span class="keywordflow">else</span><a name="l00867"></a>00867         d_data-&gt;labelPosition = QPoint(-1, -1);<a name="l00868"></a>00868 <a name="l00869"></a>00869     <span class="keywordflow">if</span> ( !<a class="code" href="class_qwt_picker.html#f825f383c74928d1541f139e102983f9">isActive</a>() )<a name="l00870"></a>00870         <a class="code" href="class_qwt_picker.html#03aa9bf28f991473d564a57d1bf3bdcc">updateDisplay</a>();<a name="l00871"></a>00871 <a name="l00872"></a>00872     <a class="code" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a>(e);<a name="l00873"></a>00873 }<a name="l00874"></a>00874 <a name="l00882"></a><a class="code" href="class_qwt_picker.html#8a2a18f2b98c8524b1d3684df44c24aa">00882</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#8a2a18f2b98c8524b1d3684df44c24aa">QwtPicker::widgetLeaveEvent</a>(QEvent *)   <a name="l00883"></a>00883 {<a name="l00884"></a>00884     d_data-&gt;labelPosition = QPoint(-1, -1);<a name="l00885"></a>00885     <span class="keywordflow">if</span> ( !<a class="code" href="class_qwt_picker.html#f825f383c74928d1541f139e102983f9">isActive</a>() )<a name="l00886"></a>00886         <a class="code" href="class_qwt_picker.html#03aa9bf28f991473d564a57d1bf3bdcc">updateDisplay</a>();<a name="l00887"></a>00887 }<a name="l00888"></a>00888 <a name="l00899"></a><a class="code" href="class_qwt_picker.html#c009633e005b6290e07b902f2a58e45e">00899</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#c009633e005b6290e07b902f2a58e45e">QwtPicker::widgetMouseReleaseEvent</a>(QMouseEvent *e)<a name="l00900"></a>00900 {<a name="l00901"></a>00901     <a class="code" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a>(e);<a name="l00902"></a>00902 }<a name="l00903"></a>00903 <a name="l00913"></a><a class="code" href="class_qwt_picker.html#f1ffb07c24be57cd4a753b04412b3212">00913</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#f1ffb07c24be57cd4a753b04412b3212">QwtPicker::widgetMouseDoubleClickEvent</a>(QMouseEvent *me)<a name="l00914"></a>00914 {<a name="l00915"></a>00915     <a class="code" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a>(me);<a name="l00916"></a>00916 }<a name="l00917"></a>00917     <a name="l00918"></a>00918 <a name="l00928"></a><a class="code" href="class_qwt_picker.html#f92ffabe291a6254378dc932c5cce0a7">00928</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#f92ffabe291a6254378dc932c5cce0a7">QwtPicker::widgetWheelEvent</a>(QWheelEvent *e)<a name="l00929"></a>00929 {<a name="l00930"></a>00930     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_picker.html#0e5cd6fc09ec2f3bfa9a766067b518a6">pickRect</a>().contains(e-&gt;pos()) )<a name="l00931"></a>00931         d_data-&gt;labelPosition = e-&gt;pos();<a name="l00932"></a>00932     <span class="keywordflow">else</span><a name="l00933"></a>00933         d_data-&gt;labelPosition = QPoint(-1, -1);<a name="l00934"></a>00934 <a name="l00935"></a>00935     <a class="code" href="class_qwt_picker.html#03aa9bf28f991473d564a57d1bf3bdcc">updateDisplay</a>();<a name="l00936"></a>00936 <a name="l00937"></a>00937     <a class="code" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a>(e);<a name="l00938"></a>00938 }<a name="l00939"></a>00939 <a name="l00953"></a><a class="code" href="class_qwt_picker.html#f5bc441b2fc143363563922a3b3c70ae">00953</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_picker.html#f5bc441b2fc143363563922a3b3c70ae">QwtPicker::widgetKeyPressEvent</a>(QKeyEvent *ke)<a name="l00954"></a>00954 {<a name="l00955"></a>00955     <span class="keywordtype">int</span> dx = 0;<a name="l00956"></a>00956     <span class="keywordtype">int</span> dy = 0;<a name="l00957"></a>00957 <a name="l00958"></a>00958     <span class="keywordtype">int</span> offset = 1;<a name="l00959"></a>00959     <span class="keywordflow">if</span> ( ke-&gt;isAutoRepeat() )<a name="l00960"></a>00960         offset = 5;<a name="l00961"></a>00961 <a name="l00962"></a>00962     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_event_pattern.html#0a727c4369d8535eed5695a2a76b7e79">keyMatch</a>(KeyLeft, ke) )<a name="l00963"></a>00963         dx = -offset;<a name="l00964"></a>00964     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_event_pattern.html#0a727c4369d8535eed5695a2a76b7e79">keyMatch</a>(KeyRight, ke) )<a name="l00965"></a>00965         dx = offset;<a name="l00966"></a>00966     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_event_pattern.html#0a727c4369d8535eed5695a2a76b7e79">keyMatch</a>(KeyUp, ke) )<a name="l00967"></a>00967         dy = -offset;<a name="l00968"></a>00968     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_event_pattern.html#0a727c4369d8535eed5695a2a76b7e79">keyMatch</a>(KeyDown, ke) )<a name="l00969"></a>00969         dy = offset;<a name="l00970"></a>00970     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_event_pattern.html#0a727c4369d8535eed5695a2a76b7e79">keyMatch</a>(KeyAbort, ke) )<a name="l00971"></a>00971     {<a name="l00972"></a>00972         <span class="keywordflow">if</span> ( d_data-&gt;stateMachine )<a name="l00973"></a>00973             d_data-&gt;stateMachine-&gt;reset();<a name="l00974"></a>00974 <a name="l00975"></a>00975         <span class="keywordflow">if</span> (<a class="code" href="class_qwt_picker.html#f825f383c74928d1541f139e102983f9">isActive</a>())<a name="l00976"></a>00976             <a class="code" href="class_qwt_picker.html#d258c518257cf2f52326905a36efb0c4">end</a>(<span class="keyword">false</span>);<a name="l00977"></a>00977     }<a name="l00978"></a>00978     <span class="keywordflow">else</span><a name="l00979"></a>00979         <a class="code" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a>(ke);<a name="l00980"></a>00980 <a name="l00981"></a>00981     <span class="keywordflow">if</span> ( dx != 0 || dy != 0 )<a name="l00982"></a>00982     {<a name="l00983"></a>00983         <span class="keyword">const</span> QRect rect = <a class="code" href="class_qwt_picker.html#0e5cd6fc09ec2f3bfa9a766067b518a6">pickRect</a>();<a name="l00984"></a>00984         <span class="keyword">const</span> QPoint pos = <a class="code" href="class_qwt_picker.html#da0c12257e006f0066d22c3eb83f667e">parentWidget</a>()-&gt;mapFromGlobal(QCursor::pos());<a name="l00985"></a>00985 <a name="l00986"></a>00986         <span class="keywordtype">int</span> x = pos.x() + dx;<a name="l00987"></a>00987         x = qwtMax(rect.left(), x);<a name="l00988"></a>00988         x = qwtMin(rect.right(), x);<a name="l00989"></a>00989 <a name="l00990"></a>00990         <span class="keywordtype">int</span> y = pos.y() + dy;<a name="l00991"></a>00991         y = qwtMax(rect

⌨️ 快捷键说明

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