📄 qwt__legend_8cpp-source.html
字号:
<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->view->contentsWidget->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->view->contentsWidget->heightForWidth(width);<a name="l00523"></a>00523 <span class="preprocessor">#if QT_VERSION < 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 <= 0 ) <a name="l00528"></a>00528 {<a name="l00529"></a>00529 QLayout *l = d_data->view->contentsWidget->layout();<a name="l00530"></a>00530 <span class="keywordflow">if</span> ( l && l->hasHeightForWidth() )<a name="l00531"></a>00531 h = l->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 >= 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->view->viewport()->size();<a name="l00546"></a>00546 <a name="l00547"></a>00547 <span class="keyword">const</span> QLayout *l = d_data->view->contentsWidget->layout();<a name="l00548"></a>00548 <span class="keywordflow">if</span> ( l && l->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->maxItemWidth()) + 2 * tl->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->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->view->viewportSize(w, h).width();<a name="l00558"></a>00558 <span class="keywordflow">if</span> ( w > vpWidth )<a name="l00559"></a>00559 {<a name="l00560"></a>00560 w = qwtMax(vpWidth, minW);<a name="l00561"></a>00561 h = qwtMax(tl->heightForWidth(w), visibleSize.height());<a name="l00562"></a>00562 }<a name="l00563"></a>00563 <a name="l00564"></a>00564 d_data->view->contentsWidget->resize(w, h);<a name="l00565"></a>00565 <span class="preprocessor">#if QT_VERSION < 0x040000</span><a name="l00566"></a>00566 <span class="preprocessor"></span> d_data->view->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->view->contentsWidget )<a name="l00581"></a>00581 {<a name="l00582"></a>00582 <span class="keywordflow">switch</span>(e->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->child()->isWidgetType() )<a name="l00588"></a>00588 d_data->map.remove((QWidget *)ce->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 < 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 < 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->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->map.count();<a name="l00626"></a>00626 }<a name="l00627"></a>00627 <a name="l00628"></a>00628 <span class="preprocessor">#if QT_VERSION < 0x040000</span><a name="l00629"></a>00629 <span class="preprocessor"></span>QValueList<QWidget *> <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<QWidget *> <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<QWidget *, const QwtPlotItem *> &map = <a name="l00635"></a>00635 d_data->map.widgetMap();<a name="l00636"></a>00636 <a name="l00637"></a>00637 <span class="preprocessor">#if QT_VERSION < 0x040000</span><a name="l00638"></a>00638 <span class="preprocessor"></span> QValueList<QWidget *> list;<a name="l00639"></a>00639 <span class="preprocessor">#else</span><a name="l00640"></a>00640 <span class="preprocessor"></span> QList<QWidget *> 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<QWidget *, const QwtPlotItem *>::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->view->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 <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 + -