summaryrefslogtreecommitdiff
path: root/docs/reference/gtk/tmpl/gtkpaned.sgml
blob: db7f80bd3654c509c04acadeb23aa77faf9a074c (plain)
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
<!-- ##### 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_usize (hpaned, 200 + GTK_PANED (hpaned)->gutter_size, -1);

gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE);
gtk_widget_set_usize (frame1, 50, -1);

gtk_paned_pack2 (GTK_PANED (hpaned), frame1, FALSE, FALSE);
gtk_widget_set_usize (frame1, 50, -1);
</programlisting>
</example>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### STRUCT GtkPaned ##### -->
<para>
</para>

@handle_size: 
@gutter_size: 

<!-- ##### FUNCTION gtk_paned_add1 ##### -->
<para>
Add a child to the top or left pane with
default parameters. This is equivalent
to
<programlisting>
gtk_paned_pack1(paned, FALSE, TRUE);
</programlisting>
</para>

@paned: a paned widget
@child: the child to add


<!-- ##### FUNCTION gtk_paned_add2 ##### -->
<para>
Add a child to the bottom or right pane with default
parameters. This is equivalent to 
<programlisting>
gtk_paned_pack1(paned, FALSE, FALSE);
</programlisting>
</para>

@paned: a paned widget
@child: the child to add


<!-- ##### MACRO gtk_paned_handle_size ##### -->
<para>
Old name for gtk_paned_set_handle_size()
</para>



<!-- ##### MACRO gtk_paned_gutter_size ##### -->
<para>
Old name for gtk_paned_set_gutter_size()
</para>



<!-- ##### FUNCTION gtk_paned_compute_position ##### -->
<para>
Internal function used by #GtkHPaned and #GtkVPaned
</para>

@paned: 
@allocation: 
@child1_req: 
@child2_req: 


<!-- ##### FUNCTION gtk_paned_pack1 ##### -->
<para>
Add 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>
Add 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.


<!-- ##### FUNCTION gtk_paned_set_gutter_size ##### -->
<para>
Set the width of the gutter. (The area between the two panes).
</para>

@paned: a paned widget
@size: the width of the widget in pixels


<!-- ##### FUNCTION gtk_paned_set_handle_size ##### -->
<para>
Set the the handle size to @size x @size pixels.
</para>

@paned: a paned widget
@size: the size in pixels


<!-- ##### FUNCTION gtk_paned_set_position ##### -->
<para>
Set the position of the separator, as if set by the user.
If position is negative, the remembered position is
forgotten, and the division is recomputed from the
the requisitions of the children.
</para>

@paned: a paned widget
@position: the new position of the separator.