You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
930 lines
60 KiB
930 lines
60 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<title>TQScrollView Class</title>
|
|
<style type="text/css"><!--
|
|
fn { margin-left: 1cm; text-indent: -1cm; }
|
|
a:link { color: #004faf; text-decoration: none }
|
|
a:visited { color: #672967; text-decoration: none }
|
|
body { background: #ffffff; color: black; }
|
|
--></style>
|
|
</head>
|
|
<body>
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
<tr bgcolor="#E5E5E5">
|
|
<td valign=center>
|
|
<a href="index.html">
|
|
<font color="#004faf">Home</font></a>
|
|
| <a href="classes.html">
|
|
<font color="#004faf">All Classes</font></a>
|
|
| <a href="mainclasses.html">
|
|
<font color="#004faf">Main Classes</font></a>
|
|
| <a href="annotated.html">
|
|
<font color="#004faf">Annotated</font></a>
|
|
| <a href="groups.html">
|
|
<font color="#004faf">Grouped Classes</font></a>
|
|
| <a href="functions.html">
|
|
<font color="#004faf">Functions</font></a>
|
|
</td>
|
|
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQScrollView Class Reference</h1>
|
|
|
|
<p>The TQScrollView widget provides a scrolling area with on-demand scroll bars.
|
|
<a href="#details">More...</a>
|
|
<p><tt>#include <<a href="tqscrollview-h.html">tqscrollview.h</a>></tt>
|
|
<p>Inherits <a href="tqframe.html">TQFrame</a>.
|
|
<p>Inherited by <a href="tqcanvasview.html">TQCanvasView</a>, <a href="tqtable.html">TQTable</a>, <a href="tqgridview.html">TQGridView</a>, <a href="tqiconview.html">TQIconView</a>, <a href="tqlistbox.html">TQListBox</a>, <a href="tqlistview.html">TQListView</a>, and <a href="tqtextedit.html">TQTextEdit</a>.
|
|
<p><a href="tqscrollview-members.html">List of all member functions.</a>
|
|
<h2>Public Members</h2>
|
|
<ul>
|
|
<li class=fn><a href="#TQScrollView"><b>TQScrollView</b></a> ( TQWidget * parent = 0, const char * name = 0, WFlags f = 0 )</li>
|
|
<li class=fn><a href="#~TQScrollView"><b>~TQScrollView</b></a> ()</li>
|
|
<li class=fn>enum <a href="#ResizePolicy-enum"><b>ResizePolicy</b></a> { Default, Manual, AutoOne, AutoOneFit }</li>
|
|
<li class=fn>virtual void <a href="#setResizePolicy"><b>setResizePolicy</b></a> ( ResizePolicy )</li>
|
|
<li class=fn>ResizePolicy <a href="#resizePolicy"><b>resizePolicy</b></a> () const</li>
|
|
<li class=fn>void <a href="#removeChild"><b>removeChild</b></a> ( TQWidget * child )</li>
|
|
<li class=fn>virtual void <a href="#addChild"><b>addChild</b></a> ( TQWidget * child, int x = 0, int y = 0 )</li>
|
|
<li class=fn>virtual void <a href="#moveChild"><b>moveChild</b></a> ( TQWidget * child, int x, int y )</li>
|
|
<li class=fn>int <a href="#childX"><b>childX</b></a> ( TQWidget * child )</li>
|
|
<li class=fn>int <a href="#childY"><b>childY</b></a> ( TQWidget * child )</li>
|
|
<li class=fn>bool childIsVisible ( TQWidget * child ) <em>(obsolete)</em></li>
|
|
<li class=fn>void showChild ( TQWidget * child, bool y = TRUE ) <em>(obsolete)</em></li>
|
|
<li class=fn>enum <a href="#ScrollBarMode-enum"><b>ScrollBarMode</b></a> { Auto, AlwaysOff, AlwaysOn }</li>
|
|
<li class=fn>ScrollBarMode <a href="#vScrollBarMode"><b>vScrollBarMode</b></a> () const</li>
|
|
<li class=fn>virtual void <a href="#setVScrollBarMode"><b>setVScrollBarMode</b></a> ( ScrollBarMode )</li>
|
|
<li class=fn>ScrollBarMode <a href="#hScrollBarMode"><b>hScrollBarMode</b></a> () const</li>
|
|
<li class=fn>virtual void <a href="#setHScrollBarMode"><b>setHScrollBarMode</b></a> ( ScrollBarMode )</li>
|
|
<li class=fn>TQWidget * <a href="#cornerWidget"><b>cornerWidget</b></a> () const</li>
|
|
<li class=fn>virtual void <a href="#setCornerWidget"><b>setCornerWidget</b></a> ( TQWidget * corner )</li>
|
|
<li class=fn>TQScrollBar * <a href="#horizontalScrollBar"><b>horizontalScrollBar</b></a> () const</li>
|
|
<li class=fn>TQScrollBar * <a href="#verticalScrollBar"><b>verticalScrollBar</b></a> () const</li>
|
|
<li class=fn>TQWidget * <a href="#viewport"><b>viewport</b></a> () const</li>
|
|
<li class=fn>TQWidget * <a href="#clipper"><b>clipper</b></a> () const</li>
|
|
<li class=fn>int <a href="#visibleWidth"><b>visibleWidth</b></a> () const</li>
|
|
<li class=fn>int <a href="#visibleHeight"><b>visibleHeight</b></a> () const</li>
|
|
<li class=fn>int <a href="#contentsWidth"><b>contentsWidth</b></a> () const</li>
|
|
<li class=fn>int <a href="#contentsHeight"><b>contentsHeight</b></a> () const</li>
|
|
<li class=fn>int <a href="#contentsX"><b>contentsX</b></a> () const</li>
|
|
<li class=fn>int <a href="#contentsY"><b>contentsY</b></a> () const</li>
|
|
<li class=fn>void <a href="#updateContents"><b>updateContents</b></a> ( int x, int y, int w, int h )</li>
|
|
<li class=fn>void <a href="#updateContents-2"><b>updateContents</b></a> ( const TQRect & r )</li>
|
|
<li class=fn>void <a href="#updateContents-3"><b>updateContents</b></a> ()</li>
|
|
<li class=fn>void <a href="#repaintContents"><b>repaintContents</b></a> ( int x, int y, int w, int h, bool erase = TRUE )</li>
|
|
<li class=fn>void <a href="#repaintContents-2"><b>repaintContents</b></a> ( const TQRect & r, bool erase = TRUE )</li>
|
|
<li class=fn>void <a href="#repaintContents-3"><b>repaintContents</b></a> ( bool erase = TRUE )</li>
|
|
<li class=fn>void <a href="#contentsToViewport"><b>contentsToViewport</b></a> ( int x, int y, int & vx, int & vy ) const</li>
|
|
<li class=fn>void <a href="#viewportToContents"><b>viewportToContents</b></a> ( int vx, int vy, int & x, int & y ) const</li>
|
|
<li class=fn>TQPoint <a href="#contentsToViewport-2"><b>contentsToViewport</b></a> ( const TQPoint & p ) const</li>
|
|
<li class=fn>TQPoint <a href="#viewportToContents-2"><b>viewportToContents</b></a> ( const TQPoint & vp ) const</li>
|
|
<li class=fn>void <a href="#enableClipper"><b>enableClipper</b></a> ( bool y )</li>
|
|
<li class=fn>void <a href="#setStaticBackground"><b>setStaticBackground</b></a> ( bool y )</li>
|
|
<li class=fn>bool <a href="#hasStaticBackground"><b>hasStaticBackground</b></a> () const</li>
|
|
<li class=fn>TQSize <a href="#viewportSize"><b>viewportSize</b></a> ( int x, int y ) const</li>
|
|
<li class=fn>bool <a href="#isHorizontalSliderPressed"><b>isHorizontalSliderPressed</b></a> ()</li>
|
|
<li class=fn>bool <a href="#isVerticalSliderPressed"><b>isVerticalSliderPressed</b></a> ()</li>
|
|
<li class=fn>virtual void <a href="#setDragAutoScroll"><b>setDragAutoScroll</b></a> ( bool b )</li>
|
|
<li class=fn>bool <a href="#dragAutoScroll"><b>dragAutoScroll</b></a> () const</li>
|
|
</ul>
|
|
<h2>Public Slots</h2>
|
|
<ul>
|
|
<li class=fn>virtual void <a href="#resizeContents"><b>resizeContents</b></a> ( int w, int h )</li>
|
|
<li class=fn>void <a href="#scrollBy"><b>scrollBy</b></a> ( int dx, int dy )</li>
|
|
<li class=fn>virtual void <a href="#setContentsPos"><b>setContentsPos</b></a> ( int x, int y )</li>
|
|
<li class=fn>void <a href="#ensureVisible"><b>ensureVisible</b></a> ( int x, int y )</li>
|
|
<li class=fn>void <a href="#ensureVisible-2"><b>ensureVisible</b></a> ( int x, int y, int xmargin, int ymargin )</li>
|
|
<li class=fn>void <a href="#center"><b>center</b></a> ( int x, int y )</li>
|
|
<li class=fn>void <a href="#center-2"><b>center</b></a> ( int x, int y, float xmargin, float ymargin )</li>
|
|
<li class=fn>void <a href="#updateScrollBars"><b>updateScrollBars</b></a> ()</li>
|
|
</ul>
|
|
<h2>Signals</h2>
|
|
<ul>
|
|
<li class=fn>void <a href="#contentsMoving"><b>contentsMoving</b></a> ( int x, int y )</li>
|
|
<li class=fn>void <a href="#horizontalSliderPressed"><b>horizontalSliderPressed</b></a> ()</li>
|
|
<li class=fn>void <a href="#horizontalSliderReleased"><b>horizontalSliderReleased</b></a> ()</li>
|
|
<li class=fn>void <a href="#verticalSliderPressed"><b>verticalSliderPressed</b></a> ()</li>
|
|
<li class=fn>void <a href="#verticalSliderReleased"><b>verticalSliderReleased</b></a> ()</li>
|
|
</ul>
|
|
<h2>Properties</h2>
|
|
<ul>
|
|
<li class=fn>int <a href="#contentsHeight-prop"><b>contentsHeight</b></a> - the height of the contents area <em>(read only)</em></li>
|
|
<li class=fn>int <a href="#contentsWidth-prop"><b>contentsWidth</b></a> - the width of the contents area <em>(read only)</em></li>
|
|
<li class=fn>int <a href="#contentsX-prop"><b>contentsX</b></a> - the X coordinate of the contents that are at the left edge of the viewport <em>(read only)</em></li>
|
|
<li class=fn>int <a href="#contentsY-prop"><b>contentsY</b></a> - the Y coordinate of the contents that are at the top edge of the viewport <em>(read only)</em></li>
|
|
<li class=fn>bool <a href="#dragAutoScroll-prop"><b>dragAutoScroll</b></a> - whether autoscrolling in drag move events is enabled</li>
|
|
<li class=fn>ScrollBarMode <a href="#hScrollBarMode-prop"><b>hScrollBarMode</b></a> - the mode for the horizontal scroll bar</li>
|
|
<li class=fn>ResizePolicy <a href="#resizePolicy-prop"><b>resizePolicy</b></a> - the resize policy</li>
|
|
<li class=fn>ScrollBarMode <a href="#vScrollBarMode-prop"><b>vScrollBarMode</b></a> - the mode for the vertical scroll bar</li>
|
|
<li class=fn>int <a href="#visibleHeight-prop"><b>visibleHeight</b></a> - the vertical amount of the content that is visible <em>(read only)</em></li>
|
|
<li class=fn>int <a href="#visibleWidth-prop"><b>visibleWidth</b></a> - the horizontal amount of the content that is visible <em>(read only)</em></li>
|
|
</ul>
|
|
<h2>Protected Members</h2>
|
|
<ul>
|
|
<li class=fn>virtual void <a href="#drawContents"><b>drawContents</b></a> ( TQPainter * p, int clipx, int clipy, int clipw, int cliph )</li>
|
|
<li class=fn>virtual void <a href="#drawContentsOffset"><b>drawContentsOffset</b></a> ( TQPainter * p, int offsetx, int offsety, int clipx, int clipy, int clipw, int cliph )</li>
|
|
<li class=fn>virtual void <a href="#contentsMousePressEvent"><b>contentsMousePressEvent</b></a> ( TQMouseEvent * e )</li>
|
|
<li class=fn>virtual void <a href="#contentsMouseReleaseEvent"><b>contentsMouseReleaseEvent</b></a> ( TQMouseEvent * e )</li>
|
|
<li class=fn>virtual void <a href="#contentsMouseDoubleClickEvent"><b>contentsMouseDoubleClickEvent</b></a> ( TQMouseEvent * e )</li>
|
|
<li class=fn>virtual void <a href="#contentsMouseMoveEvent"><b>contentsMouseMoveEvent</b></a> ( TQMouseEvent * e )</li>
|
|
<li class=fn>virtual void <a href="#contentsDragEnterEvent"><b>contentsDragEnterEvent</b></a> ( TQDragEnterEvent * )</li>
|
|
<li class=fn>virtual void <a href="#contentsDragMoveEvent"><b>contentsDragMoveEvent</b></a> ( TQDragMoveEvent * )</li>
|
|
<li class=fn>virtual void <a href="#contentsDragLeaveEvent"><b>contentsDragLeaveEvent</b></a> ( TQDragLeaveEvent * )</li>
|
|
<li class=fn>virtual void <a href="#contentsDropEvent"><b>contentsDropEvent</b></a> ( TQDropEvent * )</li>
|
|
<li class=fn>virtual void <a href="#contentsWheelEvent"><b>contentsWheelEvent</b></a> ( TQWheelEvent * e )</li>
|
|
<li class=fn>virtual void <a href="#contentsContextMenuEvent"><b>contentsContextMenuEvent</b></a> ( TQContextMenuEvent * e )</li>
|
|
<li class=fn>virtual void <a href="#viewportPaintEvent"><b>viewportPaintEvent</b></a> ( TQPaintEvent * pe )</li>
|
|
<li class=fn>virtual void <a href="#viewportResizeEvent"><b>viewportResizeEvent</b></a> ( TQResizeEvent * )</li>
|
|
<li class=fn>virtual void <a href="#setMargins"><b>setMargins</b></a> ( int left, int top, int right, int bottom )</li>
|
|
<li class=fn>int <a href="#leftMargin"><b>leftMargin</b></a> () const</li>
|
|
<li class=fn>int <a href="#topMargin"><b>topMargin</b></a> () const</li>
|
|
<li class=fn>int <a href="#rightMargin"><b>rightMargin</b></a> () const</li>
|
|
<li class=fn>int <a href="#bottomMargin"><b>bottomMargin</b></a> () const</li>
|
|
<li class=fn>virtual void <a href="#setHBarGeometry"><b>setHBarGeometry</b></a> ( TQScrollBar & hbar, int x, int y, int w, int h )</li>
|
|
<li class=fn>virtual void <a href="#setVBarGeometry"><b>setVBarGeometry</b></a> ( TQScrollBar & vbar, int x, int y, int w, int h )</li>
|
|
<li class=fn>virtual bool <a href="#eventFilter"><b>eventFilter</b></a> ( TQObject * obj, TQEvent * e )</li>
|
|
</ul>
|
|
<hr><a name="details"></a><h2>Detailed Description</h2>
|
|
|
|
|
|
The TQScrollView widget provides a scrolling area with on-demand scroll bars.
|
|
<p>
|
|
|
|
<p> The TQScrollView is a large canvas - potentially larger than the
|
|
coordinate system normally supported by the underlying window
|
|
system. This is important because it is quite easy to go beyond
|
|
these limitations (e.g. many web pages are more than 32000 pixels
|
|
high). Additionally, the TQScrollView can have TQWidgets positioned
|
|
on it that scroll around with the drawn content. These sub-widgets
|
|
can also have positions outside the normal coordinate range (but
|
|
they are still limited in size).
|
|
<p> To provide content for the widget, inherit from TQScrollView,
|
|
reimplement <a href="#drawContents">drawContents</a>() and use <a href="#resizeContents">resizeContents</a>() to set the
|
|
size of the viewed area. Use <a href="#addChild">addChild</a>() and <a href="#moveChild">moveChild</a>() to
|
|
position widgets on the view.
|
|
<p> To use TQScrollView effectively it is important to understand its
|
|
widget structure in the three styles of use: a single large child
|
|
widget, a large panning area with some widgets and a large panning
|
|
area with many widgets.
|
|
<p> <h3> Using One Big Widget
|
|
</h3>
|
|
<a name="1"></a><p> <center><img src="tqscrollview-vp2.png"></center>
|
|
<p> The first, simplest usage of TQScrollView (depicted above), is
|
|
appropriate for scrolling areas that are never more than about
|
|
4000 pixels in either dimension (this is about the maximum
|
|
reliable size on X11 servers). In this usage, you just make one
|
|
large child in the TQScrollView. The child should be a child of the
|
|
<a href="#viewport">viewport</a>() of the scrollview and be added with addChild():
|
|
<pre>
|
|
TQScrollView* sv = new TQScrollView(...);
|
|
<a href="tqvbox.html">TQVBox</a>* big_box = new <a href="tqvbox.html">TQVBox</a>(sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(big_box);
|
|
</pre>
|
|
|
|
You can go on to add arbitrary child widgets to the single child
|
|
in the scrollview as you would with any widget:
|
|
<pre>
|
|
<a href="tqlabel.html">TQLabel</a>* child1 = new <a href="tqlabel.html">TQLabel</a>("CHILD", big_box);
|
|
<a href="tqlabel.html">TQLabel</a>* child2 = new <a href="tqlabel.html">TQLabel</a>("CHILD", big_box);
|
|
<a href="tqlabel.html">TQLabel</a>* child3 = new <a href="tqlabel.html">TQLabel</a>("CHILD", big_box);
|
|
...
|
|
</pre>
|
|
|
|
<p> Here the TQScrollView has four children: the viewport(), the
|
|
<a href="#verticalScrollBar">verticalScrollBar</a>(), the <a href="#horizontalScrollBar">horizontalScrollBar</a>() and a small
|
|
<a href="#cornerWidget">cornerWidget</a>(). The <a href="#viewport">viewport</a>() has one child: the big <a href="tqvbox.html">TQVBox</a>. The
|
|
TQVBox has the three <a href="tqlabel.html">TQLabel</a> objects as child widgets. When the view
|
|
is scrolled, the TQVBox is moved; its children move with it as
|
|
child widgets normally do.
|
|
<p> <h3> Using a Very Big View with Some Widgets
|
|
</h3>
|
|
<a name="1-1"></a><p> <center><img src="tqscrollview-vp.png"></center>
|
|
<p> The second usage of TQScrollView (depicted above) is appropriate
|
|
when few, if any, widgets are on a very large scrolling area that
|
|
is potentially larger than 4000 pixels in either dimension. In
|
|
this usage you call <a href="#resizeContents">resizeContents</a>() to set the size of the area
|
|
and reimplement <a href="#drawContents">drawContents</a>() to paint the contents. You may also
|
|
add some widgets by making them children of the viewport() and
|
|
adding them with <a href="#addChild">addChild</a>() (this is the same as the process for
|
|
the single large widget in the previous example):
|
|
<pre>
|
|
TQScrollView* sv = new TQScrollView(...);
|
|
<a href="tqlabel.html">TQLabel</a>* child1 = new <a href="tqlabel.html">TQLabel</a>("CHILD", sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(child1);
|
|
<a href="tqlabel.html">TQLabel</a>* child2 = new <a href="tqlabel.html">TQLabel</a>("CHILD", sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(child2);
|
|
<a href="tqlabel.html">TQLabel</a>* child3 = new <a href="tqlabel.html">TQLabel</a>("CHILD", sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(child3);
|
|
</pre>
|
|
|
|
Here, the TQScrollView has the same four children: the <a href="#viewport">viewport</a>(),
|
|
the <a href="#verticalScrollBar">verticalScrollBar</a>(), the <a href="#horizontalScrollBar">horizontalScrollBar</a>() and a small
|
|
<a href="#cornerWidget">cornerWidget</a>(). The viewport() has the three <a href="tqlabel.html">TQLabel</a> objects as
|
|
child widgets. When the view is scrolled, the scrollview moves the
|
|
child widgets individually.
|
|
<p> <h3> Using a Very Big View with Many Widgets
|
|
</h3>
|
|
<a name="1-2"></a><p> <a name="enableclipper"></a>
|
|
<center><img src="tqscrollview-cl.png"></center>
|
|
<p> The final usage of TQScrollView (depicted above) is appropriate
|
|
when many widgets are on a very large scrolling area that is
|
|
potentially larger than 4000 pixels in either dimension. In this
|
|
usage you call <a href="#resizeContents">resizeContents</a>() to set the size of the area and
|
|
reimplement <a href="#drawContents">drawContents</a>() to paint the contents. You then call
|
|
<a href="#enableClipper">enableClipper</a>(TRUE) and add widgets, again by making them children
|
|
of the <a href="#viewport">viewport</a>(), and adding them with <a href="#addChild">addChild</a>():
|
|
<pre>
|
|
TQScrollView* sv = new TQScrollView(...);
|
|
sv-><a href="#enableClipper">enableClipper</a>(TRUE);
|
|
<a href="tqlabel.html">TQLabel</a>* child1 = new <a href="tqlabel.html">TQLabel</a>("CHILD", sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(child1);
|
|
<a href="tqlabel.html">TQLabel</a>* child2 = new <a href="tqlabel.html">TQLabel</a>("CHILD", sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(child2);
|
|
<a href="tqlabel.html">TQLabel</a>* child3 = new <a href="tqlabel.html">TQLabel</a>("CHILD", sv-><a href="#viewport">viewport</a>());
|
|
sv-><a href="#addChild">addChild</a>(child3);
|
|
</pre>
|
|
|
|
<p> Here, the TQScrollView has four children: the <a href="#clipper">clipper</a>() (not the
|
|
viewport() this time), the <a href="#verticalScrollBar">verticalScrollBar</a>(), the
|
|
<a href="#horizontalScrollBar">horizontalScrollBar</a>() and a small <a href="#cornerWidget">cornerWidget</a>(). The clipper()
|
|
has one child: the <a href="#viewport">viewport</a>(). The viewport() has the same three
|
|
labels as child widgets. When the view is scrolled the viewport()
|
|
is moved; its children move with it as child widgets normally do.
|
|
<p> <a name="allviews"></a>
|
|
<h3> Details Relevant for All Views
|
|
</h3>
|
|
<a name="1-3"></a><p> Normally you will use the first or third method if you want any
|
|
child widgets in the view.
|
|
<p> Note that the widget you see in the scrolled area is the
|
|
viewport() widget, not the TQScrollView itself. So to turn mouse
|
|
tracking on, for example, use viewport()->setMouseTracking(TRUE).
|
|
<p> To enable drag-and-drop, you would <a href="tqwidget.html#setAcceptDrops">setAcceptDrops</a>(TRUE) on the
|
|
TQScrollView (because drag-and-drop events propagate to the
|
|
parent). But to work out the logical position in the view, you
|
|
would need to map the drop co-ordinate from being relative to the
|
|
TQScrollView to being relative to the contents; use the function
|
|
<a href="#viewportToContents">viewportToContents</a>() for this.
|
|
<p> To handle mouse events on the scrolling area, subclass scrollview
|
|
as you would subclass other widgets, but rather than
|
|
reimplementing <a href="tqwidget.html#mousePressEvent">mousePressEvent</a>(), reimplement
|
|
<a href="#contentsMousePressEvent">contentsMousePressEvent</a>() instead. The contents specific event
|
|
handlers provide translated events in the coordinate system of the
|
|
scrollview. If you reimplement mousePressEvent(), you'll get
|
|
called only when part of the TQScrollView is clicked: and the only
|
|
such part is the "corner" (if you don't set a <a href="#cornerWidget">cornerWidget</a>()) and
|
|
the frame; everything else is covered up by the viewport, clipper
|
|
or scroll bars.
|
|
<p> When you construct a TQScrollView, some of the widget flags apply
|
|
to the <a href="#viewport">viewport</a>() instead of being sent to the <a href="tqwidget.html">TQWidget</a> constructor
|
|
for the TQScrollView. This applies to <a href="tqt.html#WidgetFlags-enum">WNoAutoErase</a>, <a href="tqt.html#WidgetFlags-enum">WStaticContents</a>, and <a href="tqt.html#WidgetFlags-enum">WPaintClever</a>. See <a href="tqt.html#WidgetFlags-enum">TQt::WidgetFlags</a> for
|
|
documentation about these flags. Here are some examples:
|
|
<p> <ul>
|
|
<p> <li> An image-manipulation widget would use <tt>WNoAutoErase|WStaticContents</tt> because the widget draws all pixels
|
|
itself, and when its size increases, it only needs a paint event
|
|
for the new part because the old part remains unchanged.
|
|
<p> <li> A scrolling game widget in which the background scrolls as the
|
|
characters move might use <a href="tqt.html#WidgetFlags-enum">WNoAutoErase</a> (in addition to <a href="tqt.html#WidgetFlags-enum">WStaticContents</a>) so that the window system background does not
|
|
flash in and out during scrolling.
|
|
<p> <li> A word processing widget might use <a href="tqt.html#WidgetFlags-enum">WNoAutoErase</a> and repaint
|
|
itself line by line to get a less-flickery resizing. If the widget
|
|
is in a mode in which no text justification can take place, it
|
|
might use <a href="tqt.html#WidgetFlags-enum">WStaticContents</a> too, so that it would only get a
|
|
repaint for the newly visible parts.
|
|
<p> </ul>
|
|
<p> Child widgets may be moved using <a href="#addChild">addChild</a>() or <a href="#moveChild">moveChild</a>(). Use
|
|
<a href="#childX">childX</a>() and <a href="#childY">childY</a>() to get the position of a child widget.
|
|
<p> A widget may be placed in the corner between the vertical and
|
|
horizontal scrollbars with <a href="#setCornerWidget">setCornerWidget</a>(). You can get access
|
|
to the scrollbars using <a href="#horizontalScrollBar">horizontalScrollBar</a>() and
|
|
<a href="#verticalScrollBar">verticalScrollBar</a>(), and to the viewport with <a href="#viewport">viewport</a>(). The
|
|
scroll view can be scrolled using <a href="#scrollBy">scrollBy</a>(), <a href="#ensureVisible">ensureVisible</a>(),
|
|
<a href="#setContentsPos">setContentsPos</a>() or <a href="#center">center</a>().
|
|
<p> The visible area is given by <a href="#visibleWidth">visibleWidth</a>() and <a href="#visibleHeight">visibleHeight</a>(),
|
|
and the contents area by <a href="#contentsWidth">contentsWidth</a>() and <a href="#contentsHeight">contentsHeight</a>(). The
|
|
contents may be repainted using one of the <a href="#repaintContents">repaintContents</a>() or
|
|
<a href="#updateContents">updateContents</a>() functions.
|
|
<p> Coordinate conversion is provided by <a href="#contentsToViewport">contentsToViewport</a>() and
|
|
<a href="#viewportToContents">viewportToContents</a>().
|
|
<p> The <a href="#contentsMoving">contentsMoving</a>() signal is emitted just before the contents
|
|
are moved to a new position.
|
|
<p> <b>Warning:</b> TQScrollView currently does not erase the background when
|
|
resized, i.e. you must always clear the background manually in
|
|
scrollview subclasses. This will change in a future version of TQt
|
|
and we recommend specifying the WNoAutoErase flag explicitly.
|
|
<p> <img src=tqscrollview-m.png> <img src=tqscrollview-w.png>
|
|
<p>See also <a href="abstractwidgets.html">Abstract Widget Classes</a>.
|
|
|
|
<hr><h2>Member Type Documentation</h2>
|
|
<h3 class=fn><a name="ResizePolicy-enum"></a>TQScrollView::ResizePolicy</h3>
|
|
|
|
<p> This enum type is used to control a TQScrollView's reaction to
|
|
resize events.
|
|
<ul>
|
|
<li><tt>TQScrollView::Default</tt> - the TQScrollView selects one of the other settings
|
|
automatically when it has to. In this version of TQt, TQScrollView
|
|
changes to <a href="#ResizePolicy-enum">Manual</a> if you resize the contents with
|
|
<a href="#resizeContents">resizeContents</a>() and to <a href="#ResizePolicy-enum">AutoOne</a> if a child is added.
|
|
<li><tt>TQScrollView::Manual</tt> - the contents stays the size set by resizeContents().
|
|
<li><tt>TQScrollView::AutoOne</tt> - if there is only one child widget the contents stays
|
|
the size of that widget. Otherwise the behavior is undefined.
|
|
<li><tt>TQScrollView::AutoOneFit</tt> - if there is only one child widget the contents stays
|
|
the size of that widget's <a href="tqwidget.html#sizeHint">sizeHint</a>(). If the scrollview is resized
|
|
larger than the child's sizeHint(), the child will be resized to
|
|
fit. If there is more than one child, the behavior is undefined.
|
|
</ul><p>
|
|
<h3 class=fn><a name="ScrollBarMode-enum"></a>TQScrollView::ScrollBarMode</h3>
|
|
|
|
<p> This enum type describes the various modes of TQScrollView's scroll
|
|
bars.
|
|
<ul>
|
|
<li><tt>TQScrollView::Auto</tt> - TQScrollView shows a scroll bar when the content is
|
|
too large to fit and not otherwise. This is the default.
|
|
<li><tt>TQScrollView::AlwaysOff</tt> - TQScrollView never shows a scroll bar.
|
|
<li><tt>TQScrollView::AlwaysOn</tt> - TQScrollView always shows a scroll bar.
|
|
</ul><p> (The modes for the horizontal and vertical scroll bars are
|
|
independent.)
|
|
|
|
<hr><h2>Member Function Documentation</h2>
|
|
<h3 class=fn><a name="TQScrollView"></a>TQScrollView::TQScrollView ( <a href="tqwidget.html">TQWidget</a> * parent = 0, const char * name = 0, WFlags f = 0 )
|
|
</h3>
|
|
Constructs a TQScrollView called <em>name</em> with parent <em>parent</em> and
|
|
widget flags <em>f</em>.
|
|
<p> The widget flags <a href="tqt.html#WidgetFlags-enum">WStaticContents</a>, <a href="tqt.html#WidgetFlags-enum">WNoAutoErase</a> and <a href="tqt.html#WidgetFlags-enum">WPaintClever</a> are propagated to the <a href="#viewport">viewport</a>() widget. The other
|
|
widget flags are propagated to the parent constructor as usual.
|
|
|
|
<h3 class=fn><a name="~TQScrollView"></a>TQScrollView::~TQScrollView ()
|
|
</h3>
|
|
Destroys the TQScrollView. Any children added with <a href="#addChild">addChild</a>() will
|
|
be deleted.
|
|
|
|
<h3 class=fn>void <a name="addChild"></a>TQScrollView::addChild ( <a href="tqwidget.html">TQWidget</a> * child, int x = 0, int y = 0 )<tt> [virtual]</tt>
|
|
</h3>
|
|
Inserts the widget, <em>child</em>, into the scrolled area positioned at
|
|
(<em>x</em>, <em>y</em>). The position defaults to (0, 0). If the child is
|
|
already in the view, it is just moved.
|
|
<p> You may want to call <a href="#enableClipper">enableClipper</a>(TRUE) if you add a large number
|
|
of widgets.
|
|
|
|
<p>Example: <a href="scrollview-example.html#x645">scrollview/scrollview.cpp</a>.
|
|
<h3 class=fn>int <a name="bottomMargin"></a>TQScrollView::bottomMargin () const<tt> [protected]</tt>
|
|
</h3>
|
|
Returns the bottom margin.
|
|
<p> <p>See also <a href="#setMargins">setMargins</a>().
|
|
|
|
<h3 class=fn>void <a name="center"></a>TQScrollView::center ( int x, int y )<tt> [slot]</tt>
|
|
</h3>
|
|
Scrolls the content so that the point <em>(x, y)</em> is in the center
|
|
of visible area.
|
|
|
|
<p>Example: <a href="scrollview-example.html#x646">scrollview/scrollview.cpp</a>.
|
|
<h3 class=fn>void <a name="center-2"></a>TQScrollView::center ( int x, int y, float xmargin, float ymargin )<tt> [slot]</tt>
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Scrolls the content so that the point <em>(x, y)</em> is visible with
|
|
the <em>xmargin</em> and <em>ymargin</em> margins (as fractions of visible
|
|
the area).
|
|
<p> For example:
|
|
<ul>
|
|
<li> Margin 0.0 allows (x, y) to be on the edge of the visible area.
|
|
<li> Margin 0.5 ensures that (x, y) is in middle 50% of the visible area.
|
|
<li> Margin 1.0 ensures that (x, y) is in the center of the the visible area.
|
|
</ul>
|
|
|
|
<h3 class=fn>bool <a name="childIsVisible"></a>TQScrollView::childIsVisible ( <a href="tqwidget.html">TQWidget</a> * child )
|
|
</h3>
|
|
<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
|
|
<p> Returns TRUE if <em>child</em> is visible. This is equivalent
|
|
to child->isVisible().
|
|
|
|
<h3 class=fn>int <a name="childX"></a>TQScrollView::childX ( <a href="tqwidget.html">TQWidget</a> * child )
|
|
</h3>
|
|
Returns the X position of the given <em>child</em> widget. Use this
|
|
rather than <a href="tqwidget.html#x">TQWidget::x</a>() for widgets added to the view.
|
|
<p> This function returns 0 if <em>child</em> has not been added to the view.
|
|
|
|
<h3 class=fn>int <a name="childY"></a>TQScrollView::childY ( <a href="tqwidget.html">TQWidget</a> * child )
|
|
</h3>
|
|
Returns the Y position of the given <em>child</em> widget. Use this
|
|
rather than <a href="tqwidget.html#y">TQWidget::y</a>() for widgets added to the view.
|
|
<p> This function returns 0 if <em>child</em> has not been added to the view.
|
|
|
|
<h3 class=fn><a href="tqwidget.html">TQWidget</a> * <a name="clipper"></a>TQScrollView::clipper () const
|
|
</h3>
|
|
Returns the clipper widget. Contents in the scrollview are
|
|
ultimately clipped to be inside the clipper widget.
|
|
<p> You should not need to use this function.
|
|
<p> <p>See also <a href="#visibleWidth-prop">visibleWidth</a> and <a href="#visibleHeight-prop">visibleHeight</a>.
|
|
|
|
<h3 class=fn>void <a name="contentsContextMenuEvent"></a>TQScrollView::contentsContextMenuEvent ( <a href="tqcontextmenuevent.html">TQContextMenuEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#contextMenuEvent">contextMenuEvent</a>() in <em>e</em>: the mouse position is translated to
|
|
be a point on the contents.
|
|
|
|
<p>Example: <a href="tutorial2-06.html#x2584">chart/canvasview.cpp</a>.
|
|
<h3 class=fn>void <a name="contentsDragEnterEvent"></a>TQScrollView::contentsDragEnterEvent ( <a href="tqdragenterevent.html">TQDragEnterEvent</a> * )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#dragEnterEvent">dragEnterEvent</a>(): the drag position is translated to be a point
|
|
on the contents.
|
|
|
|
<p>Reimplemented in <a href="tqtable.html#contentsDragEnterEvent">TQTable</a>.
|
|
<h3 class=fn>void <a name="contentsDragLeaveEvent"></a>TQScrollView::contentsDragLeaveEvent ( <a href="tqdragleaveevent.html">TQDragLeaveEvent</a> * )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#dragLeaveEvent">dragLeaveEvent</a>(): the drag position is translated to be a point
|
|
on the contents.
|
|
|
|
<p>Reimplemented in <a href="tqtable.html#contentsDragLeaveEvent">TQTable</a>.
|
|
<h3 class=fn>void <a name="contentsDragMoveEvent"></a>TQScrollView::contentsDragMoveEvent ( <a href="tqdragmoveevent.html">TQDragMoveEvent</a> * )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#dragMoveEvent">dragMoveEvent</a>(): the drag position is translated to be a point on
|
|
the contents.
|
|
|
|
<p>Reimplemented in <a href="tqtable.html#contentsDragMoveEvent">TQTable</a>.
|
|
<h3 class=fn>void <a name="contentsDropEvent"></a>TQScrollView::contentsDropEvent ( <a href="tqdropevent.html">TQDropEvent</a> * )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#dropEvent">dropEvent</a>(): the drop position is translated to be a point on the
|
|
contents.
|
|
|
|
<p>Reimplemented in <a href="tqtable.html#contentsDropEvent">TQTable</a>.
|
|
<h3 class=fn>int <a name="contentsHeight"></a>TQScrollView::contentsHeight () const
|
|
</h3><p>Returns the height of the contents area.
|
|
See the <a href="tqscrollview.html#contentsHeight-prop">"contentsHeight"</a> property for details.
|
|
<h3 class=fn>void <a name="contentsMouseDoubleClickEvent"></a>TQScrollView::contentsMouseDoubleClickEvent ( <a href="tqmouseevent.html">TQMouseEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#mouseDoubleClickEvent">mouseDoubleClickEvent</a>(): the click position in <em>e</em> is translated to be a
|
|
point on the contents.
|
|
<p> The default implementation generates a normal mouse press event.
|
|
|
|
<p>Reimplemented in <a href="tqlistview.html#contentsMouseDoubleClickEvent">TQListView</a>.
|
|
<h3 class=fn>void <a name="contentsMouseMoveEvent"></a>TQScrollView::contentsMouseMoveEvent ( <a href="tqmouseevent.html">TQMouseEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#mouseMoveEvent">mouseMoveEvent</a>(): the mouse position in <em>e</em> is translated to be a point
|
|
on the contents.
|
|
|
|
<p>Examples: <a href="canvas-example.html#x2950">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2585">chart/canvasview.cpp</a>.
|
|
<p>Reimplemented in <a href="tqlistview.html#contentsMouseMoveEvent">TQListView</a>.
|
|
<h3 class=fn>void <a name="contentsMousePressEvent"></a>TQScrollView::contentsMousePressEvent ( <a href="tqmouseevent.html">TQMouseEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#mousePressEvent">mousePressEvent</a>(): the press position in <em>e</em> is translated to be a point
|
|
on the contents.
|
|
|
|
<p>Examples: <a href="canvas-example.html#x2951">canvas/canvas.cpp</a> and <a href="tutorial2-06.html#x2586">chart/canvasview.cpp</a>.
|
|
<p>Reimplemented in <a href="tqlistview.html#contentsMousePressEvent">TQListView</a>.
|
|
<h3 class=fn>void <a name="contentsMouseReleaseEvent"></a>TQScrollView::contentsMouseReleaseEvent ( <a href="tqmouseevent.html">TQMouseEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#mouseReleaseEvent">mouseReleaseEvent</a>(): the release position in <em>e</em> is translated to be a
|
|
point on the contents.
|
|
|
|
<p>Reimplemented in <a href="tqlistview.html#contentsMouseReleaseEvent">TQListView</a>.
|
|
<h3 class=fn>void <a name="contentsMoving"></a>TQScrollView::contentsMoving ( int x, int y )<tt> [signal]</tt>
|
|
</h3>
|
|
|
|
<p> This signal is emitted just before the contents are moved to
|
|
position <em>(x, y)</em>.
|
|
<p> <p>See also <a href="#contentsX-prop">contentsX</a> and <a href="#contentsY-prop">contentsY</a>.
|
|
|
|
<h3 class=fn>void <a name="contentsToViewport"></a>TQScrollView::contentsToViewport ( int x, int y, int & vx, int & vy ) const
|
|
</h3>
|
|
Translates a point (<em>x</em>, <em>y</em>) in the contents to a point (<em>vx</em>,
|
|
<em>vy</em>) on the <a href="#viewport">viewport</a>() widget.
|
|
|
|
<h3 class=fn><a href="tqpoint.html">TQPoint</a> <a name="contentsToViewport-2"></a>TQScrollView::contentsToViewport ( const <a href="tqpoint.html">TQPoint</a> & p ) const
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Returns the point <em>p</em> translated to a point on the <a href="#viewport">viewport</a>()
|
|
widget.
|
|
|
|
<h3 class=fn>void <a name="contentsWheelEvent"></a>TQScrollView::contentsWheelEvent ( <a href="qwheelevent.html">TQWheelEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event handler is called whenever the TQScrollView receives a
|
|
<a href="tqwidget.html#wheelEvent">wheelEvent</a>() in <em>e</em>: the mouse position is translated to be a
|
|
point on the contents.
|
|
|
|
<h3 class=fn>int <a name="contentsWidth"></a>TQScrollView::contentsWidth () const
|
|
</h3><p>Returns the width of the contents area.
|
|
See the <a href="tqscrollview.html#contentsWidth-prop">"contentsWidth"</a> property for details.
|
|
<h3 class=fn>int <a name="contentsX"></a>TQScrollView::contentsX () const
|
|
</h3><p>Returns the X coordinate of the contents that are at the left edge of the viewport.
|
|
See the <a href="tqscrollview.html#contentsX-prop">"contentsX"</a> property for details.
|
|
<h3 class=fn>int <a name="contentsY"></a>TQScrollView::contentsY () const
|
|
</h3><p>Returns the Y coordinate of the contents that are at the top edge of the viewport.
|
|
See the <a href="tqscrollview.html#contentsY-prop">"contentsY"</a> property for details.
|
|
<h3 class=fn><a href="tqwidget.html">TQWidget</a> * <a name="cornerWidget"></a>TQScrollView::cornerWidget () const
|
|
</h3>
|
|
Returns the widget in the corner between the two scroll bars.
|
|
<p> By default, no corner widget is present.
|
|
|
|
<p>Example: <a href="scrollview-example.html#x647">scrollview/scrollview.cpp</a>.
|
|
<h3 class=fn>bool <a name="dragAutoScroll"></a>TQScrollView::dragAutoScroll () const
|
|
</h3><p>Returns TRUE if autoscrolling in drag move events is enabled; otherwise returns FALSE.
|
|
See the <a href="tqscrollview.html#dragAutoScroll-prop">"dragAutoScroll"</a> property for details.
|
|
<h3 class=fn>void <a name="drawContents"></a>TQScrollView::drawContents ( <a href="tqpainter.html">TQPainter</a> * p, int clipx, int clipy, int clipw, int cliph )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
|
|
<p> Reimplement this function if you are viewing a drawing area rather
|
|
than a widget.
|
|
<p> The function should draw the rectangle (<em>clipx</em>, <em>clipy</em>, <em>clipw</em>, <em>cliph</em>) of the contents using painter <em>p</em>. The clip
|
|
rectangle is in the scrollview's coordinates.
|
|
<p> For example:
|
|
<pre>
|
|
{
|
|
// Fill a 40000 by 50000 rectangle at (100000,150000)
|
|
|
|
// Calculate the coordinates...
|
|
int x1 = 100000, y1 = 150000;
|
|
int x2 = x1+40000-1, y2 = y1+50000-1;
|
|
|
|
// Clip the coordinates so X/Windows will not have problems...
|
|
if (x1 < clipx) x1=clipx;
|
|
if (y1 < clipy) y1=clipy;
|
|
if (x2 > clipx+clipw-1) x2=clipx+clipw-1;
|
|
if (y2 > clipy+cliph-1) y2=clipy+cliph-1;
|
|
|
|
// Paint using the small coordinates...
|
|
if ( x2 >= x1 && y2 >= y1 )
|
|
p->fillRect(x1, y1, x2-x1+1, y2-y1+1, red);
|
|
}
|
|
</pre>
|
|
|
|
<p> The clip rectangle and translation of the painter <em>p</em> is already
|
|
set appropriately.
|
|
|
|
<p>Example: <a href="tqdir-example.html#x1837">tqdir/tqdir.cpp</a>.
|
|
<p>Reimplemented in <a href="tqcanvasview.html#drawContents">TQCanvasView</a> and <a href="tqtable.html#drawContents">TQTable</a>.
|
|
<h3 class=fn>void <a name="drawContentsOffset"></a>TQScrollView::drawContentsOffset ( <a href="tqpainter.html">TQPainter</a> * p, int offsetx, int offsety, int clipx, int clipy, int clipw, int cliph )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
For backward-compatibility only. It is easier to use
|
|
<a href="#drawContents">drawContents</a>(<a href="tqpainter.html">TQPainter</a>*,int,int,int,int).
|
|
<p> The default implementation translates the painter appropriately
|
|
and calls drawContents(TQPainter*,int,int,int,int). See
|
|
drawContents() for an explanation of the parameters <em>p</em>, <em>offsetx</em>, <em>offsety</em>, <em>clipx</em>, <em>clipy</em>, <em>clipw</em> and <em>cliph</em>.
|
|
|
|
<p>Reimplemented in <a href="tqlistview.html#drawContentsOffset">TQListView</a>.
|
|
<h3 class=fn>void <a name="enableClipper"></a>TQScrollView::enableClipper ( bool y )
|
|
</h3>
|
|
When a large numbers of child widgets are in a scrollview,
|
|
especially if they are close together, the scrolling performance
|
|
can suffer greatly. If <em>y</em> is TRUE the scrollview will use an
|
|
extra widget to group child widgets.
|
|
<p> Note that you may only call <a href="#enableClipper">enableClipper</a>() prior to adding
|
|
widgets.
|
|
<p> For a full discussion, see this class's <a href="#enableclipper">detailed description</a>.
|
|
|
|
<p>Example: <a href="scrollview-example.html#x648">scrollview/scrollview.cpp</a>.
|
|
<h3 class=fn>void <a name="ensureVisible"></a>TQScrollView::ensureVisible ( int x, int y )<tt> [slot]</tt>
|
|
</h3>
|
|
Scrolls the content so that the point <em>(x, y)</em> is visible with at
|
|
least 50-pixel margins (if possible, otherwise centered).
|
|
|
|
<h3 class=fn>void <a name="ensureVisible-2"></a>TQScrollView::ensureVisible ( int x, int y, int xmargin, int ymargin )<tt> [slot]</tt>
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Scrolls the content so that the point <em>(x, y)</em> is visible with at
|
|
least the <em>xmargin</em> and <em>ymargin</em> margins (if possible,
|
|
otherwise centered).
|
|
|
|
<h3 class=fn>bool <a name="eventFilter"></a>TQScrollView::eventFilter ( <a href="tqobject.html">TQObject</a> * obj, <a href="tqevent.html">TQEvent</a> * e )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This event filter ensures the scroll bars are updated when a
|
|
single contents widget is resized, shown, hidden or destroyed; it
|
|
passes mouse events to the TQScrollView. The event is in <em>e</em> and
|
|
the object is in <em>obj</em>.
|
|
|
|
<p>Reimplemented from <a href="tqobject.html#eventFilter">TQObject</a>.
|
|
<p>Reimplemented in <a href="tqlistview.html#eventFilter">TQListView</a>.
|
|
<h3 class=fn><a href="tqscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="hScrollBarMode"></a>TQScrollView::hScrollBarMode () const
|
|
</h3><p>Returns the mode for the horizontal scroll bar.
|
|
See the <a href="tqscrollview.html#hScrollBarMode-prop">"hScrollBarMode"</a> property for details.
|
|
<h3 class=fn>bool <a name="hasStaticBackground"></a>TQScrollView::hasStaticBackground () const
|
|
</h3>
|
|
Returns TRUE if TQScrollView uses a static background; otherwise
|
|
returns FALSE.
|
|
<p> <p>See also <a href="#setStaticBackground">setStaticBackground</a>().
|
|
|
|
<h3 class=fn><a href="tqscrollbar.html">TQScrollBar</a> * <a name="horizontalScrollBar"></a>TQScrollView::horizontalScrollBar () const
|
|
</h3>
|
|
Returns the component horizontal scroll bar. It is made available
|
|
to allow accelerators, autoscrolling, etc.
|
|
<p> It should not be used for other purposes.
|
|
<p> This function never returns 0.
|
|
|
|
<h3 class=fn>void <a name="horizontalSliderPressed"></a>TQScrollView::horizontalSliderPressed ()<tt> [signal]</tt>
|
|
</h3>
|
|
|
|
<p> This signal is emitted whenever the user presses the horizontal slider.
|
|
|
|
<h3 class=fn>void <a name="horizontalSliderReleased"></a>TQScrollView::horizontalSliderReleased ()<tt> [signal]</tt>
|
|
</h3>
|
|
|
|
<p> This signal is emitted whenever the user releases the horizontal slider.
|
|
|
|
<h3 class=fn>bool <a name="isHorizontalSliderPressed"></a>TQScrollView::isHorizontalSliderPressed ()
|
|
</h3>
|
|
Returns TRUE if horizontal slider is pressed by user; otherwise returns FALSE.
|
|
|
|
<h3 class=fn>bool <a name="isVerticalSliderPressed"></a>TQScrollView::isVerticalSliderPressed ()
|
|
</h3>
|
|
Returns TRUE if vertical slider is pressed by user; otherwise returns FALSE.
|
|
|
|
<h3 class=fn>int <a name="leftMargin"></a>TQScrollView::leftMargin () const<tt> [protected]</tt>
|
|
</h3>
|
|
Returns the left margin.
|
|
<p> <p>See also <a href="#setMargins">setMargins</a>().
|
|
|
|
<h3 class=fn>void <a name="moveChild"></a>TQScrollView::moveChild ( <a href="tqwidget.html">TQWidget</a> * child, int x, int y )<tt> [virtual]</tt>
|
|
</h3>
|
|
Repositions the <em>child</em> widget to (<em>x</em>, <em>y</em>). This function is
|
|
the same as <a href="#addChild">addChild</a>().
|
|
|
|
<h3 class=fn>void <a name="removeChild"></a>TQScrollView::removeChild ( <a href="tqwidget.html">TQWidget</a> * child )
|
|
</h3>
|
|
Removes the <em>child</em> widget from the scrolled area. Note that this
|
|
happens automatically if the <em>child</em> is deleted.
|
|
|
|
<h3 class=fn>void <a name="repaintContents"></a>TQScrollView::repaintContents ( int x, int y, int w, int h, bool erase = TRUE )
|
|
</h3>
|
|
Calls <a href="tqwidget.html#repaint">repaint</a>() on a rectangle defined by <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>,
|
|
translated appropriately. If the rectangle is not visible, nothing
|
|
is repainted. If <em>erase</em> is TRUE the background is cleared using
|
|
the background color.
|
|
<p> <p>See also <a href="#updateContents">updateContents</a>().
|
|
|
|
<h3 class=fn>void <a name="repaintContents-2"></a>TQScrollView::repaintContents ( const <a href="tqrect.html">TQRect</a> & r, bool erase = TRUE )
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Repaints the contents of rectangle <em>r</em>. If <em>erase</em> is TRUE the
|
|
background is cleared using the background color.
|
|
|
|
<h3 class=fn>void <a name="repaintContents-3"></a>TQScrollView::repaintContents ( bool erase = TRUE )
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Repaints the contents. If <em>erase</em> is TRUE the background is
|
|
cleared using the background color.
|
|
|
|
<h3 class=fn>void <a name="resizeContents"></a>TQScrollView::resizeContents ( int w, int h )<tt> [virtual slot]</tt>
|
|
</h3>
|
|
Sets the size of the contents area to <em>w</em> pixels wide and <em>h</em>
|
|
pixels high and updates the viewport accordingly.
|
|
|
|
<h3 class=fn><a href="tqscrollview.html#ResizePolicy-enum">ResizePolicy</a> <a name="resizePolicy"></a>TQScrollView::resizePolicy () const
|
|
</h3><p>Returns the resize policy.
|
|
See the <a href="tqscrollview.html#resizePolicy-prop">"resizePolicy"</a> property for details.
|
|
<h3 class=fn>int <a name="rightMargin"></a>TQScrollView::rightMargin () const<tt> [protected]</tt>
|
|
</h3>
|
|
Returns the right margin.
|
|
<p> <p>See also <a href="#setMargins">setMargins</a>().
|
|
|
|
<h3 class=fn>void <a name="scrollBy"></a>TQScrollView::scrollBy ( int dx, int dy )<tt> [slot]</tt>
|
|
</h3>
|
|
Scrolls the content by <em>dx</em> to the left and <em>dy</em> upwards.
|
|
|
|
<h3 class=fn>void <a name="setContentsPos"></a>TQScrollView::setContentsPos ( int x, int y )<tt> [virtual slot]</tt>
|
|
</h3>
|
|
Scrolls the content so that the point <em>(x, y)</em> is in the top-left
|
|
corner.
|
|
|
|
<p>Example: <a href="process-example.html#x102">process/process.cpp</a>.
|
|
<h3 class=fn>void <a name="setCornerWidget"></a>TQScrollView::setCornerWidget ( <a href="tqwidget.html">TQWidget</a> * corner )<tt> [virtual]</tt>
|
|
</h3>
|
|
Sets the widget in the <em>corner</em> between the two scroll bars.
|
|
<p> You will probably also want to set at least one of the scroll bar
|
|
modes to <a href="#ScrollBarMode-enum">AlwaysOn</a>.
|
|
<p> Passing 0 shows no widget in the corner.
|
|
<p> Any previous <em>corner</em> widget is hidden.
|
|
<p> You may call <a href="#setCornerWidget">setCornerWidget</a>() with the same widget at different
|
|
times.
|
|
<p> All widgets set here will be deleted by the TQScrollView when it is
|
|
destroyed unless you separately reparent the widget after setting
|
|
some other corner widget (or 0).
|
|
<p> Any <em>newly</em> set widget should have no current parent.
|
|
<p> By default, no corner widget is present.
|
|
<p> <p>See also <a href="#vScrollBarMode-prop">vScrollBarMode</a> and <a href="#hScrollBarMode-prop">hScrollBarMode</a>.
|
|
|
|
<p>Example: <a href="scrollview-example.html#x651">scrollview/scrollview.cpp</a>.
|
|
<h3 class=fn>void <a name="setDragAutoScroll"></a>TQScrollView::setDragAutoScroll ( bool b )<tt> [virtual]</tt>
|
|
</h3><p>Sets whether autoscrolling in drag move events is enabled to <em>b</em>.
|
|
See the <a href="tqscrollview.html#dragAutoScroll-prop">"dragAutoScroll"</a> property for details.
|
|
<h3 class=fn>void <a name="setHBarGeometry"></a>TQScrollView::setHBarGeometry ( <a href="tqscrollbar.html">TQScrollBar</a> & hbar, int x, int y, int w, int h )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
Called when the horizontal scroll bar geometry changes. This is
|
|
provided as a protected function so that subclasses can do
|
|
interesting things such as providing extra buttons in some of the
|
|
space normally used by the scroll bars.
|
|
<p> The default implementation simply gives all the space to <em>hbar</em>.
|
|
The new geometry is given by <em>x</em>, <em>y</em>, <em>w</em> and <em>h</em>.
|
|
<p> <p>See also <a href="#setVBarGeometry">setVBarGeometry</a>().
|
|
|
|
<h3 class=fn>void <a name="setHScrollBarMode"></a>TQScrollView::setHScrollBarMode ( <a href="tqscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> )<tt> [virtual]</tt>
|
|
</h3><p>Sets the mode for the horizontal scroll bar.
|
|
See the <a href="tqscrollview.html#hScrollBarMode-prop">"hScrollBarMode"</a> property for details.
|
|
<h3 class=fn>void <a name="setMargins"></a>TQScrollView::setMargins ( int left, int top, int right, int bottom )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
Sets the margins around the scrolling area to <em>left</em>, <em>top</em>, <em>right</em> and <em>bottom</em>. This is useful for applications such as
|
|
spreadsheets with "locked" rows and columns. The marginal space is
|
|
<em>inside</em> the <a href="tqframe.html#frameRect">frameRect</a>() and is left blank; reimplement
|
|
<a href="tqframe.html#drawFrame">drawFrame</a>() or put widgets in the unused area.
|
|
<p> By default all margins are zero.
|
|
<p> <p>See also <a href="tqframe.html#frameChanged">frameChanged</a>().
|
|
|
|
<h3 class=fn>void <a name="setResizePolicy"></a>TQScrollView::setResizePolicy ( <a href="tqscrollview.html#ResizePolicy-enum">ResizePolicy</a> )<tt> [virtual]</tt>
|
|
</h3><p>Sets the resize policy.
|
|
See the <a href="tqscrollview.html#resizePolicy-prop">"resizePolicy"</a> property for details.
|
|
<h3 class=fn>void <a name="setStaticBackground"></a>TQScrollView::setStaticBackground ( bool y )
|
|
</h3>
|
|
Sets the scrollview to have a static background if <em>y</em> is TRUE,
|
|
or a scrolling background if <em>y</em> is FALSE. By default, the
|
|
background is scrolling.
|
|
<p> Be aware that this mode is quite slow, as a full repaint of the
|
|
visible area has to be triggered on every contents move.
|
|
<p> <p>See also <a href="#hasStaticBackground">hasStaticBackground</a>().
|
|
|
|
<h3 class=fn>void <a name="setVBarGeometry"></a>TQScrollView::setVBarGeometry ( <a href="tqscrollbar.html">TQScrollBar</a> & vbar, int x, int y, int w, int h )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
Called when the vertical scroll bar geometry changes. This is
|
|
provided as a protected function so that subclasses can do
|
|
interesting things such as providing extra buttons in some of the
|
|
space normally used by the scroll bars.
|
|
<p> The default implementation simply gives all the space to <em>vbar</em>.
|
|
The new geometry is given by <em>x</em>, <em>y</em>, <em>w</em> and <em>h</em>.
|
|
<p> <p>See also <a href="#setHBarGeometry">setHBarGeometry</a>().
|
|
|
|
<h3 class=fn>void <a name="setVScrollBarMode"></a>TQScrollView::setVScrollBarMode ( <a href="tqscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> )<tt> [virtual]</tt>
|
|
</h3><p>Sets the mode for the vertical scroll bar.
|
|
See the <a href="tqscrollview.html#vScrollBarMode-prop">"vScrollBarMode"</a> property for details.
|
|
<h3 class=fn>void <a name="showChild"></a>TQScrollView::showChild ( <a href="tqwidget.html">TQWidget</a> * child, bool y = TRUE )
|
|
</h3>
|
|
<b>This function is obsolete.</b> It is provided to keep old source working. We strongly advise against using it in new code.
|
|
<p> Sets the visibility of <em>child</em>. Equivalent to
|
|
<a href="tqwidget.html#show">TQWidget::show</a>() or <a href="tqwidget.html#hide">TQWidget::hide</a>().
|
|
|
|
<h3 class=fn>int <a name="topMargin"></a>TQScrollView::topMargin () const<tt> [protected]</tt>
|
|
</h3>
|
|
Returns the top margin.
|
|
<p> <p>See also <a href="#setMargins">setMargins</a>().
|
|
|
|
<h3 class=fn>void <a name="updateContents"></a>TQScrollView::updateContents ( int x, int y, int w, int h )
|
|
</h3>
|
|
Calls <a href="tqwidget.html#update">update</a>() on a rectangle defined by <em>x</em>, <em>y</em>, <em>w</em>, <em>h</em>,
|
|
translated appropriately. If the rectangle is not visible, nothing
|
|
is repainted.
|
|
<p> <p>See also <a href="#repaintContents">repaintContents</a>().
|
|
|
|
<h3 class=fn>void <a name="updateContents-2"></a>TQScrollView::updateContents ( const <a href="tqrect.html">TQRect</a> & r )
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Updates the contents in rectangle <em>r</em>
|
|
|
|
<h3 class=fn>void <a name="updateContents-3"></a>TQScrollView::updateContents ()
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p>
|
|
<h3 class=fn>void <a name="updateScrollBars"></a>TQScrollView::updateScrollBars ()<tt> [slot]</tt>
|
|
</h3>
|
|
Updates scroll bars: all possibilities are considered. You should
|
|
never need to call this in your code.
|
|
|
|
<h3 class=fn><a href="tqscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="vScrollBarMode"></a>TQScrollView::vScrollBarMode () const
|
|
</h3><p>Returns the mode for the vertical scroll bar.
|
|
See the <a href="tqscrollview.html#vScrollBarMode-prop">"vScrollBarMode"</a> property for details.
|
|
<h3 class=fn><a href="tqscrollbar.html">TQScrollBar</a> * <a name="verticalScrollBar"></a>TQScrollView::verticalScrollBar () const
|
|
</h3>
|
|
Returns the component vertical scroll bar. It is made available to
|
|
allow accelerators, autoscrolling, etc.
|
|
<p> It should not be used for other purposes.
|
|
<p> This function never returns 0.
|
|
|
|
<h3 class=fn>void <a name="verticalSliderPressed"></a>TQScrollView::verticalSliderPressed ()<tt> [signal]</tt>
|
|
</h3>
|
|
|
|
<p> This signal is emitted whenever the user presses the vertical slider.
|
|
|
|
<h3 class=fn>void <a name="verticalSliderReleased"></a>TQScrollView::verticalSliderReleased ()<tt> [signal]</tt>
|
|
</h3>
|
|
|
|
<p> This signal is emitted whenever the user releases the vertical slider.
|
|
|
|
<h3 class=fn><a href="tqwidget.html">TQWidget</a> * <a name="viewport"></a>TQScrollView::viewport () const
|
|
</h3>
|
|
Returns the viewport widget of the scrollview. This is the widget
|
|
containing the contents widget or which is the drawing area.
|
|
|
|
<p>Examples: <a href="helpsystem-example.html#x2683">helpsystem/tooltip.cpp</a> and <a href="scrollview-example.html#x655">scrollview/scrollview.cpp</a>.
|
|
<h3 class=fn>void <a name="viewportPaintEvent"></a>TQScrollView::viewportPaintEvent ( <a href="tqpaintevent.html">TQPaintEvent</a> * pe )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
This is a low-level painting routine that draws the viewport
|
|
contents. Reimplement this if <a href="#drawContents">drawContents</a>() is too high-level
|
|
(for example, if you don't want to open a <a href="tqpainter.html">TQPainter</a> on the
|
|
viewport). The paint event is passed in <em>pe</em>.
|
|
|
|
<h3 class=fn>void <a name="viewportResizeEvent"></a>TQScrollView::viewportResizeEvent ( <a href="tqresizeevent.html">TQResizeEvent</a> * )<tt> [virtual protected]</tt>
|
|
</h3>
|
|
To provide simple processing of events on the contents, this
|
|
function receives all resize events sent to the viewport.
|
|
<p> <p>See also <a href="tqwidget.html#resizeEvent">TQWidget::resizeEvent</a>().
|
|
|
|
<p>Example: <a href="tutorial2-06.html#x2587">chart/canvasview.cpp</a>.
|
|
<h3 class=fn><a href="tqsize.html">TQSize</a> <a name="viewportSize"></a>TQScrollView::viewportSize ( int x, int y ) const
|
|
</h3>
|
|
Returns the viewport size for size (<em>x</em>, <em>y</em>).
|
|
<p> The viewport size depends on <em>(x, y)</em> (the size of the contents),
|
|
the size of this widget and the modes of the horizontal and
|
|
vertical scroll bars.
|
|
<p> This function permits widgets that can trade vertical and
|
|
horizontal space for each other to control scroll bar appearance
|
|
better. For example, a word processor or web browser can control
|
|
the width of the right margin accurately, whether or not there
|
|
needs to be a vertical scroll bar.
|
|
|
|
<h3 class=fn>void <a name="viewportToContents"></a>TQScrollView::viewportToContents ( int vx, int vy, int & x, int & y ) const
|
|
</h3>
|
|
Translates a point (<em>vx</em>, <em>vy</em>) on the <a href="#viewport">viewport</a>() widget to a
|
|
point (<em>x</em>, <em>y</em>) in the contents.
|
|
|
|
<h3 class=fn><a href="tqpoint.html">TQPoint</a> <a name="viewportToContents-2"></a>TQScrollView::viewportToContents ( const <a href="tqpoint.html">TQPoint</a> & vp ) const
|
|
</h3>
|
|
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
|
|
<p> Returns the point on the viewport <em>vp</em> translated to a point in
|
|
the contents.
|
|
|
|
<h3 class=fn>int <a name="visibleHeight"></a>TQScrollView::visibleHeight () const
|
|
</h3><p>Returns the vertical amount of the content that is visible.
|
|
See the <a href="tqscrollview.html#visibleHeight-prop">"visibleHeight"</a> property for details.
|
|
<h3 class=fn>int <a name="visibleWidth"></a>TQScrollView::visibleWidth () const
|
|
</h3><p>Returns the horizontal amount of the content that is visible.
|
|
See the <a href="tqscrollview.html#visibleWidth-prop">"visibleWidth"</a> property for details.
|
|
<hr><h2>Property Documentation</h2>
|
|
<h3 class=fn>int <a name="contentsHeight-prop"></a>contentsHeight</h3>
|
|
<p>This property holds the height of the contents area.
|
|
<p>
|
|
<p>Get this property's value with <a href="#contentsHeight">contentsHeight</a>().
|
|
<h3 class=fn>int <a name="contentsWidth-prop"></a>contentsWidth</h3>
|
|
<p>This property holds the width of the contents area.
|
|
<p>
|
|
<p>Get this property's value with <a href="#contentsWidth">contentsWidth</a>().
|
|
<h3 class=fn>int <a name="contentsX-prop"></a>contentsX</h3>
|
|
<p>This property holds the X coordinate of the contents that are at the left edge of the viewport.
|
|
<p>
|
|
<p>Get this property's value with <a href="#contentsX">contentsX</a>().
|
|
<h3 class=fn>int <a name="contentsY-prop"></a>contentsY</h3>
|
|
<p>This property holds the Y coordinate of the contents that are at the top edge of the viewport.
|
|
<p>
|
|
<p>Get this property's value with <a href="#contentsY">contentsY</a>().
|
|
<h3 class=fn>bool <a name="dragAutoScroll-prop"></a>dragAutoScroll</h3>
|
|
<p>This property holds whether autoscrolling in drag move events is enabled.
|
|
<p>If this property is set to TRUE (the default), the TQScrollView
|
|
automatically scrolls the contents in drag move events if the user
|
|
moves the cursor close to a border of the view. Of course this
|
|
works only if the viewport accepts drops. Specifying FALSE
|
|
disables this autoscroll feature.
|
|
<p> <b>Warning:</b> Enabling this property might not be enough to
|
|
effectively turn on autoscrolling. If you put a custom widget in
|
|
the TQScrollView, you might need to call TQDragEvent::ignore() on
|
|
the event in the <a href="tqwidget.html#dragEnterEvent">dragEnterEvent</a>() and <a href="tqwidget.html#dragMoveEvent">dragMoveEvent</a>()
|
|
reimplementations.
|
|
|
|
<p>Set this property's value with <a href="#setDragAutoScroll">setDragAutoScroll</a>() and get this property's value with <a href="#dragAutoScroll">dragAutoScroll</a>().
|
|
<h3 class=fn><a href="tqscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="hScrollBarMode-prop"></a>hScrollBarMode</h3>
|
|
<p>This property holds the mode for the horizontal scroll bar.
|
|
<p>The default mode is <a href="#ScrollBarMode-enum">TQScrollView::Auto</a>.
|
|
<p> <p>See also <a href="#vScrollBarMode-prop">vScrollBarMode</a>.
|
|
|
|
<p>Set this property's value with <a href="#setHScrollBarMode">setHScrollBarMode</a>() and get this property's value with <a href="#hScrollBarMode">hScrollBarMode</a>().
|
|
<h3 class=fn><a href="tqscrollview.html#ResizePolicy-enum">ResizePolicy</a> <a name="resizePolicy-prop"></a>resizePolicy</h3>
|
|
<p>This property holds the resize policy.
|
|
<p>The default is <a href="#ResizePolicy-enum">Default</a>.
|
|
<p> <p>See also <a href="#ResizePolicy-enum">ResizePolicy</a>.
|
|
|
|
<p>Set this property's value with <a href="#setResizePolicy">setResizePolicy</a>() and get this property's value with <a href="#resizePolicy">resizePolicy</a>().
|
|
<h3 class=fn><a href="tqscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="vScrollBarMode-prop"></a>vScrollBarMode</h3>
|
|
<p>This property holds the mode for the vertical scroll bar.
|
|
<p>The default mode is <a href="#ScrollBarMode-enum">TQScrollView::Auto</a>.
|
|
<p> <p>See also <a href="#hScrollBarMode-prop">hScrollBarMode</a>.
|
|
|
|
<p>Set this property's value with <a href="#setVScrollBarMode">setVScrollBarMode</a>() and get this property's value with <a href="#vScrollBarMode">vScrollBarMode</a>().
|
|
<h3 class=fn>int <a name="visibleHeight-prop"></a>visibleHeight</h3>
|
|
<p>This property holds the vertical amount of the content that is visible.
|
|
<p>
|
|
<p>Get this property's value with <a href="#visibleHeight">visibleHeight</a>().
|
|
<h3 class=fn>int <a name="visibleWidth-prop"></a>visibleWidth</h3>
|
|
<p>This property holds the horizontal amount of the content that is visible.
|
|
<p>
|
|
<p>Get this property's value with <a href="#visibleWidth">visibleWidth</a>().
|
|
<!-- eof -->
|
|
<hr><p>
|
|
This file is part of the <a href="index.html">TQt toolkit</a>.
|
|
Copyright © 1995-2007
|
|
<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
|
|
<table width=100% cellspacing=0 border=0><tr>
|
|
<td>Copyright © 2007
|
|
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
|
|
<td align=right><div align=right>TQt 3.3.8</div>
|
|
</table></div></address></body>
|
|
</html>
|