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

📄 qwt__legend_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<a name="l00502"></a>00502     update();<a name="l00503"></a>00503 }<a name="l00504"></a>00504 <a name="l00506"></a><a class="code" href="class_qwt_legend.html#2517a7d9d78ab7a3892125ecf755f33f">00506</a> QSize <a class="code" href="class_qwt_legend.html#2517a7d9d78ab7a3892125ecf755f33f">QwtLegend::sizeHint</a>()<span class="keyword"> const</span><a name="l00507"></a>00507 <span class="keyword"></span>{<a name="l00508"></a>00508     QSize hint = d_data-&gt;view-&gt;contentsWidget-&gt;sizeHint();<a name="l00509"></a>00509     hint += QSize(2 * frameWidth(), 2 * frameWidth());<a name="l00510"></a>00510 <a name="l00511"></a>00511     <span class="keywordflow">return</span> hint;<a name="l00512"></a>00512 }<a name="l00513"></a>00513 <a name="l00518"></a><a class="code" href="class_qwt_legend.html#273ec258209c42f57b154ff4da61e1d0">00518</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_legend.html#273ec258209c42f57b154ff4da61e1d0">QwtLegend::heightForWidth</a>(<span class="keywordtype">int</span> width)<span class="keyword"> const</span><a name="l00519"></a>00519 <span class="keyword"></span>{<a name="l00520"></a>00520     width -= 2 * frameWidth();<a name="l00521"></a>00521 <a name="l00522"></a>00522     <span class="keywordtype">int</span> h = d_data-&gt;view-&gt;contentsWidget-&gt;heightForWidth(width);<a name="l00523"></a>00523 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00524"></a>00524 <span class="preprocessor"></span><a name="l00525"></a>00525     <span class="comment">// Asking the layout is the default implementation in Qt4 </span><a name="l00526"></a>00526 <a name="l00527"></a>00527     <span class="keywordflow">if</span> ( h &lt;= 0 ) <a name="l00528"></a>00528     {<a name="l00529"></a>00529         QLayout *l = d_data-&gt;view-&gt;contentsWidget-&gt;layout();<a name="l00530"></a>00530         <span class="keywordflow">if</span> ( l &amp;&amp; l-&gt;hasHeightForWidth() )<a name="l00531"></a>00531             h = l-&gt;heightForWidth(width);<a name="l00532"></a>00532     }<a name="l00533"></a>00533 <span class="preprocessor">#endif</span><a name="l00534"></a>00534 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( h &gt;= 0 )<a name="l00535"></a>00535         h += 2 * frameWidth();<a name="l00536"></a>00536 <a name="l00537"></a>00537     <span class="keywordflow">return</span> h;<a name="l00538"></a>00538 }<a name="l00539"></a>00539 <a name="l00543"></a><a class="code" href="class_qwt_legend.html#c44118481db62143950a7c74bc2832ab">00543</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_legend.html#c44118481db62143950a7c74bc2832ab">QwtLegend::layoutContents</a>()<a name="l00544"></a>00544 {<a name="l00545"></a>00545     <span class="keyword">const</span> QSize visibleSize = d_data-&gt;view-&gt;viewport()-&gt;size();<a name="l00546"></a>00546 <a name="l00547"></a>00547     <span class="keyword">const</span> QLayout *l = d_data-&gt;view-&gt;contentsWidget-&gt;layout();<a name="l00548"></a>00548     <span class="keywordflow">if</span> ( l &amp;&amp; l-&gt;inherits(<span class="stringliteral">"QwtDynGridLayout"</span>) )<a name="l00549"></a>00549     {<a name="l00550"></a>00550         <span class="keyword">const</span> <a class="code" href="class_qwt_dyn_grid_layout.html">QwtDynGridLayout</a> *tl = (<span class="keyword">const</span> <a class="code" href="class_qwt_dyn_grid_layout.html">QwtDynGridLayout</a> *)l;<a name="l00551"></a>00551 <a name="l00552"></a>00552         <span class="keyword">const</span> <span class="keywordtype">int</span> minW = int(tl-&gt;maxItemWidth()) + 2 * tl-&gt;margin();<a name="l00553"></a>00553 <a name="l00554"></a>00554         <span class="keywordtype">int</span> w = qwtMax(visibleSize.width(), minW);<a name="l00555"></a>00555         <span class="keywordtype">int</span> h = qwtMax(tl-&gt;heightForWidth(w), visibleSize.height());<a name="l00556"></a>00556 <a name="l00557"></a>00557         <span class="keyword">const</span> <span class="keywordtype">int</span> vpWidth = d_data-&gt;view-&gt;viewportSize(w, h).width();<a name="l00558"></a>00558         <span class="keywordflow">if</span> ( w &gt; vpWidth )<a name="l00559"></a>00559         {<a name="l00560"></a>00560             w = qwtMax(vpWidth, minW);<a name="l00561"></a>00561             h = qwtMax(tl-&gt;heightForWidth(w), visibleSize.height());<a name="l00562"></a>00562         }<a name="l00563"></a>00563 <a name="l00564"></a>00564         d_data-&gt;view-&gt;contentsWidget-&gt;resize(w, h);<a name="l00565"></a>00565 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00566"></a>00566 <span class="preprocessor"></span>        d_data-&gt;view-&gt;resizeContents(w, h);<a name="l00567"></a>00567 <span class="preprocessor">#endif</span><a name="l00568"></a>00568 <span class="preprocessor"></span>    }<a name="l00569"></a>00569 }<a name="l00570"></a>00570 <a name="l00571"></a>00571 <span class="comment">/*</span><a name="l00572"></a>00572 <span class="comment">  Filter layout related events of QwtLegend::contentsWidget().</span><a name="l00573"></a>00573 <span class="comment"></span><a name="l00574"></a>00574 <span class="comment">  \param o Object to be filtered</span><a name="l00575"></a>00575 <span class="comment">  \param e Event</span><a name="l00576"></a>00576 <span class="comment">*/</span><a name="l00577"></a>00577 <a name="l00578"></a><a class="code" href="class_qwt_legend.html#de86e158b8254fe76d42e85f9808c827">00578</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_legend.html#de86e158b8254fe76d42e85f9808c827">QwtLegend::eventFilter</a>(QObject *o, QEvent *e)<a name="l00579"></a>00579 {<a name="l00580"></a>00580     <span class="keywordflow">if</span> ( o == d_data-&gt;view-&gt;contentsWidget )<a name="l00581"></a>00581     {<a name="l00582"></a>00582         <span class="keywordflow">switch</span>(e-&gt;type())<a name="l00583"></a>00583         {<a name="l00584"></a>00584             <span class="keywordflow">case</span> QEvent::ChildRemoved:<a name="l00585"></a>00585             {   <a name="l00586"></a>00586                 <span class="keyword">const</span> QChildEvent *ce = (<span class="keyword">const</span> QChildEvent *)e;<a name="l00587"></a>00587                 <span class="keywordflow">if</span> ( ce-&gt;child()-&gt;isWidgetType() )<a name="l00588"></a>00588                     d_data-&gt;map.remove((QWidget *)ce-&gt;child());<a name="l00589"></a>00589                 <span class="keywordflow">break</span>;<a name="l00590"></a>00590             }<a name="l00591"></a>00591 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00592"></a>00592 <span class="preprocessor"></span>            <span class="keywordflow">case</span> QEvent::LayoutHint:<a name="l00593"></a>00593 <span class="preprocessor">#else</span><a name="l00594"></a>00594 <span class="preprocessor"></span>            <span class="keywordflow">case</span> QEvent::LayoutRequest:<a name="l00595"></a>00595 <span class="preprocessor">#endif</span><a name="l00596"></a>00596 <span class="preprocessor"></span>            {<a name="l00597"></a>00597                 <a class="code" href="class_qwt_legend.html#c44118481db62143950a7c74bc2832ab">layoutContents</a>();<a name="l00598"></a>00598                 <span class="keywordflow">break</span>;<a name="l00599"></a>00599             }<a name="l00600"></a>00600 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00601"></a>00601 <span class="preprocessor"></span>            <span class="keywordflow">case</span> QEvent::Resize:<a name="l00602"></a>00602             {<a name="l00603"></a>00603                 updateGeometry();<a name="l00604"></a>00604                 <span class="keywordflow">break</span>;<a name="l00605"></a>00605             }<a name="l00606"></a>00606 <span class="preprocessor">#endif</span><a name="l00607"></a>00607 <span class="preprocessor"></span>            <span class="keywordflow">default</span>:<a name="l00608"></a>00608                 <span class="keywordflow">break</span>;<a name="l00609"></a>00609         }<a name="l00610"></a>00610     }<a name="l00611"></a>00611     <a name="l00612"></a>00612     <span class="keywordflow">return</span> QFrame::eventFilter(o, e);<a name="l00613"></a>00613 }<a name="l00614"></a>00614 <a name="l00615"></a>00615 <a name="l00617"></a><a class="code" href="class_qwt_legend.html#6ff50cb1e388a7da2a59709eef83be20">00617</a> <span class="keywordtype">bool</span> <a class="code" href="class_qwt_legend.html#6ff50cb1e388a7da2a59709eef83be20">QwtLegend::isEmpty</a>()<span class="keyword"> const</span><a name="l00618"></a>00618 <span class="keyword"></span>{<a name="l00619"></a>00619     <span class="keywordflow">return</span> d_data-&gt;map.count() == 0;<a name="l00620"></a>00620 }<a name="l00621"></a>00621 <a name="l00623"></a><a class="code" href="class_qwt_legend.html#c8d57d90bb41aa2d69c7411a20febdda">00623</a> uint <a class="code" href="class_qwt_legend.html#c8d57d90bb41aa2d69c7411a20febdda">QwtLegend::itemCount</a>()<span class="keyword"> const</span><a name="l00624"></a>00624 <span class="keyword"></span>{<a name="l00625"></a>00625     <span class="keywordflow">return</span> d_data-&gt;map.count();<a name="l00626"></a>00626 }<a name="l00627"></a>00627 <a name="l00628"></a>00628 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00629"></a>00629 <span class="preprocessor"></span>QValueList&lt;QWidget *&gt; <a class="code" href="class_qwt_legend.html#b0eb76b6c4f50257ba0219e57332045e">QwtLegend::legendItems</a>() const<a name="l00630"></a>00630 <span class="preprocessor">#else</span><a name="l00631"></a><a class="code" href="class_qwt_legend.html#b0eb76b6c4f50257ba0219e57332045e">00631</a> <span class="preprocessor"></span>QList&lt;QWidget *&gt; <a class="code" href="class_qwt_legend.html#b0eb76b6c4f50257ba0219e57332045e">QwtLegend::legendItems</a>() const<a name="l00632"></a>00632 <span class="preprocessor">#endif</span><a name="l00633"></a>00633 <span class="preprocessor"></span>{<a name="l00634"></a>00634     <span class="keyword">const</span> QMap&lt;QWidget *, const QwtPlotItem *&gt; &amp;map = <a name="l00635"></a>00635         d_data-&gt;map.widgetMap();<a name="l00636"></a>00636 <a name="l00637"></a>00637 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00638"></a>00638 <span class="preprocessor"></span>    QValueList&lt;QWidget *&gt; list;<a name="l00639"></a>00639 <span class="preprocessor">#else</span><a name="l00640"></a>00640 <span class="preprocessor"></span>    QList&lt;QWidget *&gt; list;<a name="l00641"></a>00641 <span class="preprocessor">#endif</span><a name="l00642"></a>00642 <span class="preprocessor"></span><a name="l00643"></a>00643     QMap&lt;QWidget *, const QwtPlotItem *&gt;::const_iterator it;<a name="l00644"></a>00644     <span class="keywordflow">for</span> ( it = map.begin(); it != map.end(); ++it ) <a name="l00645"></a>00645         list += it.key();<a name="l00646"></a>00646 <a name="l00647"></a>00647     <span class="keywordflow">return</span> list;<a name="l00648"></a>00648 }<a name="l00649"></a>00649 <a name="l00654"></a><a class="code" href="class_qwt_legend.html#17c7054748f953e6e315068d7f6b39be">00654</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_legend.html#17c7054748f953e6e315068d7f6b39be">QwtLegend::resizeEvent</a>(QResizeEvent *e)<a name="l00655"></a>00655 {<a name="l00656"></a>00656     QFrame::resizeEvent(e);<a name="l00657"></a>00657     d_data-&gt;view-&gt;setGeometry(contentsRect());<a name="l00658"></a>00658 }</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 26 21:22:37 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 + -