1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
<!-- ##### SECTION Title ##### -->
GtkPaned
<!-- ##### SECTION Short_Description ##### -->
Base class for widgets with two adjustable panes
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkPaned is the base class for widgets with two panes,
arranged either horizontally (#GtkHPaned) or
vertically (#GtkVPaned). Child widgets are
added to the panes of the widget with
gtk_paned_pack1() and gtk_paned_pack2(). The division
beween the two children is set by default from the
size requests of the children, but it can be adjusted
by the user.
</para>
<para>
A paned widget draws a separator between the two
child widgets and a small handle that the user
can drag to adjust the division. It does not
draw any relief around the children or around
the separator. (The space in which the separator
is called the gutter.) Often, it is useful
to put each child inside a #GtkFrame with the
shadow type set to %GTK_SHADOW_IN so that the
gutter appears as a ridge.
</para>
<para>
Each child has two options that can be set,
@resize and @shrink. If @resize is true, then when the
#GtkPaned is resized, that child will expand
or shrink along with the paned widget. If @shrink
is true, then when that child can be made smaller
than it's requisition by the user. Setting @shrink
to %FALSE allows the application to set a minimum
size. If @resize is false for both children, then
this is treated as if @resize is true for both
children.
</para>
<para>
The application can set the position of the slider
as if it were set by the user, by calling
gtk_paned_set_position().
</para>
<example>
<title>Creating a paned widget with minimum sizes.</title>
<programlisting>
GtkWidget *hpaned = gtk_hpaned_new (<!-- -->);
GtkWidget *frame1 = gtk_frame_new (NULL);
GtkWidget *frame2 = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN);
gtk_widget_set_size_request (hpaned, 200 + GTK_PANED (hpaned)->gutter_size, -1);
gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE);
gtk_widget_set_size_request (frame1, 50, -1);
gtk_paned_pack2 (GTK_PANED (hpaned), frame2, FALSE, FALSE);
gtk_widget_set_size_request (frame2, 50, -1);
</programlisting>
</example>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GtkPaned ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_paned_add1 ##### -->
<para>
Adds a child to the top or left pane with
default parameters. This is equivalent
to <literal>gtk_paned_pack1 (paned, child, FALSE, TRUE)</literal>.
</para>
@paned: a paned widget
@child: the child to add
<!-- ##### FUNCTION gtk_paned_add2 ##### -->
<para>
Adds a child to the bottom or right pane with default
parameters. This is equivalent to
<literal>gtk_paned_pack2 (paned, child, TRUE, TRUE)</literal>.
</para>
@paned: a paned widget
@child: the child to add
<!-- ##### MACRO gtk_paned_gutter_size ##### -->
<para>
Old name for gtk_paned_set_gutter_size().
</para>
@p:
@s:
<!-- ##### FUNCTION gtk_paned_pack1 ##### -->
<para>
Adds a child to the top or left pane.
</para>
@paned: a paned widget
@child: the child to add
@resize: should this child expand when the paned widget is resized.
@shrink: can this child be made smaller than its requsition.
<!-- ##### FUNCTION gtk_paned_pack2 ##### -->
<para>
Adds a child to the bottom or right pane.
</para>
@paned: a paned widget
@child: the child to add
@resize: should this child expand when the paned widget is resized.
@shrink: can this child be made smaller than its requsition.
<!-- ##### MACRO gtk_paned_set_gutter_size ##### -->
<para>
In older versions of GTK+, this function used to set the width of the
gutter (the area between the two panes). It does nothing now.
</para>
@p: a paned widget
@s: the width of the gutter in pixels
<!-- ##### FUNCTION gtk_paned_set_position ##### -->
<para>
</para>
@paned:
@position:
<!-- ##### FUNCTION gtk_paned_get_position ##### -->
<para>
</para>
@paned:
@Returns:
<!-- ##### SIGNAL GtkPaned::accept-position ##### -->
<para>
</para>
@paned: the object which received the signal.
@Returns:
<!-- ##### SIGNAL GtkPaned::cancel-position ##### -->
<para>
</para>
@paned: the object which received the signal.
@Returns:
<!-- ##### SIGNAL GtkPaned::cycle-child-focus ##### -->
<para>
</para>
@paned: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkPaned::cycle-handle-focus ##### -->
<para>
</para>
@paned: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkPaned::move-handle ##### -->
<para>
</para>
@paned: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkPaned::toggle-handle-focus ##### -->
<para>
</para>
@paned: the object which received the signal.
@Returns:
<!-- ##### ARG GtkPaned:position ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:position-set ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:handle-size ##### -->
<para>
</para>
|