8
8
<link rel="up" href="ScrollingWidgets.html" title="Scrolling">
9
9
<link rel="prev" href="GtkVScrollbar.html" title="GtkVScrollbar">
10
10
<link rel="next" href="Printing.html" title="Printing">
11
<meta name="generator" content="GTK-Doc V1.17.1 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.17 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
82
82
<div class="refsect1">
83
83
<a name="GtkScrolledWindow.object-hierarchy"></a><h2>Object Hierarchy</h2>
84
84
<pre class="synopsis">
86
+----GInitiallyUnowned
85
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
86
+----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
87
87
+----<a class="link" href="GtkObject.html" title="GtkObject">GtkObject</a>
88
88
+----<a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
89
89
+----<a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a>
106
106
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--vadjustment" title='The "vadjustment" property'>vadjustment</a>" <a class="link" href="GtkAdjustment.html" title="GtkAdjustment"><span class="type">GtkAdjustment</span></a>* : Read / Write / Construct
107
107
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--vscrollbar-policy" title='The "vscrollbar-policy" property'>vscrollbar-policy</a>" <a class="link" href="gtk-Standard-Enumerations.html#GtkPolicyType" title="enum GtkPolicyType"><span class="type">GtkPolicyType</span></a> : Read / Write
108
108
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--window-placement" title='The "window-placement" property'>window-placement</a>" <a class="link" href="gtk-Standard-Enumerations.html#GtkCornerType" title="enum GtkCornerType"><span class="type">GtkCornerType</span></a> : Read / Write
109
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--window-placement-set" title='The "window-placement-set" property'>window-placement-set</a>" <span class="type">gboolean</span> : Read / Write
109
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--window-placement-set" title='The "window-placement-set" property'>window-placement-set</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
112
112
<div class="refsect1">
113
113
<a name="GtkScrolledWindow.style-properties"></a><h2>Style Properties</h2>
114
114
<pre class="synopsis">
115
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--s-scrollbar-spacing" title='The "scrollbar-spacing" style property'>scrollbar-spacing</a>" <span class="type">gint</span> : Read
116
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--s-scrollbars-within-bevel" title='The "scrollbars-within-bevel" style property'>scrollbars-within-bevel</a>" <span class="type">gboolean</span> : Read
115
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--s-scrollbar-spacing" title='The "scrollbar-spacing" style property'>scrollbar-spacing</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read
116
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow--s-scrollbars-within-bevel" title='The "scrollbars-within-bevel" style property'>scrollbars-within-bevel</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read
119
119
<div class="refsect1">
120
120
<a name="GtkScrolledWindow.signals"></a><h2>Signals</h2>
121
121
<pre class="synopsis">
122
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow-move-focus-out" title='The "move-focus-out" signal'>move-focus-out</a>" : <code class="literal">Action</code>
123
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow-scroll-child" title='The "scroll-child" signal'>scroll-child</a>" : <code class="literal">Action</code>
122
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow-move-focus-out" title='The "move-focus-out" signal'>move-focus-out</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
123
"<a class="link" href="GtkScrolledWindow.html#GtkScrolledWindow-scroll-child" title='The "scroll-child" signal'>scroll-child</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
126
126
<div class="refsect1">
135
135
The scrolled window can work in two ways. Some widgets have native
136
136
scrolling support; these widgets have "slots" for <a class="link" href="GtkAdjustment.html" title="GtkAdjustment"><span class="type">GtkAdjustment</span></a>
138
<sup>[<a name="id1230002" href="#ftn.id1230002" class="footnote">5</a>]</sup>
138
<sup>[<a name="id1233686" href="#ftn.id1233686" class="footnote">5</a>]</sup>
139
139
Widgets with native scroll support include <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a>, <a class="link" href="GtkTextView.html" title="GtkTextView"><span class="type">GtkTextView</span></a>,
140
140
and <a class="link" href="GtkLayout.html" title="GtkLayout"><span class="type">GtkLayout</span></a>.
196
196
The two arguments are the scrolled window's adjustments; these will be
197
197
shared with the scrollbars and the child widget to keep the bars in sync
198
with the child. Usually you want to pass <a href="/home/mclasen/gnome/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> for the adjustments, which
198
with the child. Usually you want to pass <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the adjustments, which
199
199
will cause the scrolled window to create them for you.
201
201
<div class="variablelist"><table border="0">
286
286
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
287
287
<td>the horizontal scrollbar of the scrolled window,
288
or <a href="/home/mclasen/gnome/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> if it does not have one. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
288
or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it does not have one. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
311
311
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
312
312
<td>the vertical scrollbar of the scrolled window,
313
or <a href="/home/mclasen/gnome/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> if it does not have one. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
313
or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it does not have one. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
367
367
<a class="link" href="GtkContainer.html#gtk-container-add" title="gtk_container_add ()"><code class="function">gtk_container_add()</code></a> instead of this function.
370
The viewport scrolls the child by moving its <a href="../gdk/gdk-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a>, and takes
371
the size of the child to be the size of its toplevel <a href="../gdk/gdk-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a>.
370
The viewport scrolls the child by moving its <a href="http://library.gnome.org/devel/gdk3/gdk-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a>, and takes
371
the size of the child to be the size of its toplevel <a href="http://library.gnome.org/devel/gdk3/gdk-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a>.
372
372
This will be very wrong for most widgets that support native scrolling;
373
373
for example, if you add a widget such as <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> with a viewport,
374
374
the whole widget will scroll, including the column headings. Thus,
569
569
<td><p><span class="term"><em class="parameter"><code>hscrollbar_policy</code></em> :</span></p></td>
570
570
<td>location to store the policy
571
for the horizontal scrollbar, or <a href="/home/mclasen/gnome/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
571
for the horizontal scrollbar, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
575
575
<td><p><span class="term"><em class="parameter"><code>vscrollbar_policy</code></em> :</span></p></td>
576
576
<td>location to store the policy
577
for the vertical scrollbar, or <a href="/home/mclasen/gnome/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
577
for the vertical scrollbar, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
649
649
<div class="refsect2">
650
650
<a name="GtkScrolledWindow--window-placement-set"></a><h3>The <code class="literal">"window-placement-set"</code> property</h3>
651
<pre class="programlisting"> "window-placement-set" <span class="type">gboolean</span> : Read / Write</pre>
651
<pre class="programlisting"> "window-placement-set" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
653
653
Whether "window-placement" should be used to determine the location
654
654
of the contents with respect to the scrollbars. Otherwise, the
662
662
<a name="GtkScrolledWindow.style-property-details"></a><h2>Style Property Details</h2>
663
663
<div class="refsect2">
664
664
<a name="GtkScrolledWindow--s-scrollbar-spacing"></a><h3>The <code class="literal">"scrollbar-spacing"</code> style property</h3>
665
<pre class="programlisting"> "scrollbar-spacing" <span class="type">gint</span> : Read</pre>
665
<pre class="programlisting"> "scrollbar-spacing" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read</pre>
666
666
<p>Number of pixels between the scrollbars and the scrolled window.</p>
667
667
<p>Allowed values: >= 0</p>
668
668
<p>Default value: 3</p>
671
671
<div class="refsect2">
672
672
<a name="GtkScrolledWindow--s-scrollbars-within-bevel"></a><h3>The <code class="literal">"scrollbars-within-bevel"</code> style property</h3>
673
<pre class="programlisting"> "scrollbars-within-bevel" <span class="type">gboolean</span> : Read</pre>
673
<pre class="programlisting"> "scrollbars-within-bevel" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read</pre>
675
675
Whether to place scrollbars within the scrolled window's bevel.
684
684
<a name="GtkScrolledWindow-move-focus-out"></a><h3>The <code class="literal">"move-focus-out"</code> signal</h3>
685
685
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkScrolledWindow.html" title="GtkScrolledWindow"><span class="type">GtkScrolledWindow</span></a> *scrolledwindow,
686
686
<a class="link" href="gtk-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> arg1,
687
<span class="type">gpointer</span> user_data) : <code class="literal">Action</code></pre>
687
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
690
690
<div class="variablelist"><table border="0">
699
699
<div class="refsect2">
700
700
<a name="GtkScrolledWindow-scroll-child"></a><h3>The <code class="literal">"scroll-child"</code> signal</h3>
701
<pre class="programlisting"><span class="returnvalue">gboolean</span> user_function (<a class="link" href="GtkScrolledWindow.html" title="GtkScrolledWindow"><span class="type">GtkScrolledWindow</span></a> *scrolledwindow,
701
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> user_function (<a class="link" href="GtkScrolledWindow.html" title="GtkScrolledWindow"><span class="type">GtkScrolledWindow</span></a> *scrolledwindow,
702
702
<a class="link" href="gtk-Standard-Enumerations.html#GtkScrollType" title="enum GtkScrollType"><span class="type">GtkScrollType</span></a> arg1,
703
<span class="type">gboolean</span> arg2,
704
<span class="type">gpointer</span> user_data) : <code class="literal">Action</code></pre>
703
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg2,
704
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
707
707
<div class="variablelist"><table border="0">
722
722
<div class="footnotes">
723
723
<br><hr width="100" align="left">
724
<div class="footnote"><p><sup>[<a id="ftn.id1230002" href="#id1230002" class="para">5</a>] </sup>The scrolled window installs <a class="link" href="GtkAdjustment.html" title="GtkAdjustment"><span class="type">GtkAdjustment</span></a> objects in
724
<div class="footnote"><p><sup>[<a id="ftn.id1233686" href="#id1233686" class="para">5</a>] </sup>The scrolled window installs <a class="link" href="GtkAdjustment.html" title="GtkAdjustment"><span class="type">GtkAdjustment</span></a> objects in
725
725
the child window's slots using the set_scroll_adjustments_signal,
726
726
found in <a class="link" href="GtkWidget.html#GtkWidgetClass" title="struct GtkWidgetClass"><span class="type">GtkWidgetClass</span></a>. (Conceptually, these widgets implement a
727
727
"Scrollable" interface; because GTK+ 1.2 lacked interface support in