summaryrefslogtreecommitdiff
path: root/docs/reference/gtk/tmpl/gtkprogressbar.sgml
blob: 9436818dabb7f022196dfa7d6f4535ecc5a6f57d (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
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
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
<!-- ##### SECTION Title ##### -->
GtkProgressBar

<!-- ##### SECTION Short_Description ##### -->
A widget which indicates progress visually

<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkProgressBar is typically used to display the progress of a long
running operation.  It provides a visual clue that processing
is underway.  The #GtkProgressBar can be used in two different
modes: percentage mode and activity mode.
</para>

<para>
When an application can determine how much work needs to take place 
(e.g. read a fixed number of bytes from a file) and can monitor its
progress, it can use the #GtkProgressBar in percentage mode and the user
sees a growing bar indicating the percentage of the work that has
been completed.  In this mode, the application is required to call
gtk_progress_bar_set_fraction() periodically to update the progress bar.
</para>

<para>
When an application has no accurate way of knowing the amount of work
to do, it can use the #GtkProgressBar in activity mode, which shows activity 
by a block moving back and forth within the progress area. In this mode,
the application is required to call gtk_progress_bar_pulse() perodically
to update the progress bar.
</para>

<para>
There is quite a bit of flexibility provided to control the appearance
of the #GtkProgressBar.  Functions are provided to control the 
orientation of the bar, optional text can be displayed along with
the bar, and the step size used in activity mode can be set.
</para>

<note>
<para>
The #GtkProgressBar/#GtkProgress API in GTK 1.2 was bloated, needlessly complex
and hard to use properly.  Therefore #GtkProgress has been deprecated
completely and the #GtkProgressBar API has been reduced to the following 10
functions: gtk_progress_bar_new(), gtk_progress_bar_pulse(), 
gtk_progress_bar_set_text(), gtk_progress_bar_set_fraction(), 
gtk_progress_bar_set_pulse_step(), gtk_progress_bar_set_orientation(), 
gtk_progress_bar_get_text(), gtk_progress_bar_get_fraction(), 
gtk_progress_bar_get_pulse_step(), gtk_progress_bar_get_orientation(). 
These have been grouped at the beginning of this section, followed by 
a large chunk of deprecated 1.2 compatibility functions.
</para>
</note>

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

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT GtkProgressBar ##### -->
<para>
The #GtkProgressBar-struct struct contains private data only, 
and should be accessed using the functions below.
</para>


<!-- ##### ARG GtkProgressBar:activity-blocks ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:activity-step ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:adjustment ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:bar-style ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:discrete-blocks ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:ellipsize ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:fraction ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:orientation ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:pulse-step ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:text ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:min-horizontal-bar-height ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:min-horizontal-bar-width ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:min-vertical-bar-height ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:min-vertical-bar-width ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:xspacing ##### -->
<para>

</para>

<!-- ##### ARG GtkProgressBar:yspacing ##### -->
<para>

</para>

<!-- ##### FUNCTION gtk_progress_bar_new ##### -->
<para>
Creates a new #GtkProgressBar.
</para>

@void: 
@Returns: a #GtkProgressBar.


<!-- ##### FUNCTION gtk_progress_bar_pulse ##### -->
<para>

</para>

@pbar: 


<!-- ##### FUNCTION gtk_progress_bar_set_text ##### -->
<para>

</para>

@pbar: 
@text: 


<!-- ##### FUNCTION gtk_progress_bar_set_fraction ##### -->
<para>

</para>

@pbar: 
@fraction: 


<!-- ##### FUNCTION gtk_progress_bar_set_pulse_step ##### -->
<para>

</para>

@pbar: 
@fraction: 


<!-- ##### FUNCTION gtk_progress_bar_set_orientation ##### -->
<para>

</para>

@pbar: 
@orientation: 


<!-- ##### FUNCTION gtk_progress_bar_set_ellipsize ##### -->
<para>

</para>

@pbar: 
@mode: 


<!-- ##### ENUM GtkProgressBarOrientation ##### -->
<para>
An enumeration representing possible orientations and growth
directions for the visible progress bar.
</para>

@GTK_PROGRESS_LEFT_TO_RIGHT: A horizontal progress bar growing from left to right.
@GTK_PROGRESS_RIGHT_TO_LEFT: A horizontal progress bar growing from right to left.
@GTK_PROGRESS_BOTTOM_TO_TOP: A vertical progress bar growing from bottom to top.
@GTK_PROGRESS_TOP_TO_BOTTOM: A vertical progress bar growing from top to bottom.

<!-- ##### FUNCTION gtk_progress_bar_get_text ##### -->
<para>

</para>

@pbar: 
@Returns: 


<!-- ##### FUNCTION gtk_progress_bar_get_fraction ##### -->
<para>

</para>

@pbar: 
@Returns: 


<!-- ##### FUNCTION gtk_progress_bar_get_pulse_step ##### -->
<para>

</para>

@pbar: 
@Returns: 


<!-- ##### FUNCTION gtk_progress_bar_get_orientation ##### -->
<para>

</para>

@pbar: 
@Returns: 


<!-- ##### FUNCTION gtk_progress_bar_get_ellipsize ##### -->
<para>

</para>

@pbar: 
@Returns: 


<!-- ##### FUNCTION gtk_progress_bar_new_with_adjustment ##### -->


@adjustment: 
@Returns: 


<!-- ##### FUNCTION gtk_progress_bar_set_bar_style ##### -->
<para>
Sets the style of the #GtkProgressBar.  The default style is
%GTK_PROGRESS_CONTINUOUS.
</para>

@pbar: a #GtkProgressBar.
@style: a #GtkProgressBarStyle value indicating the desired style.


<!-- ##### ENUM GtkProgressBarStyle ##### -->
<para>
An enumeration representing the styles for drawing the progress bar.
</para>

@GTK_PROGRESS_CONTINUOUS: The progress bar grows in a smooth, continuous manner.
@GTK_PROGRESS_DISCRETE: The progress bar grows in discrete, visible blocks.

<!-- ##### FUNCTION gtk_progress_bar_set_discrete_blocks ##### -->
<para>
Sets the number of blocks that the progress bar is divided into
when the style is %GTK_PROGRESS_DISCRETE.
</para>

@pbar: a #GtkProgressBar.
@blocks: number of individual blocks making up the bar.


<!-- ##### FUNCTION gtk_progress_bar_set_activity_step ##### -->
<para>
Sets the step value used when the progress bar is in activity
mode.  The step is the amount by which the progress is incremented
each iteration.
</para>

@pbar: a #GtkProgressBar.
@step: the amount which the progress is incremented in activity
mode.


<!-- ##### FUNCTION gtk_progress_bar_set_activity_blocks ##### -->
<para>
Sets the number of blocks used when the progress bar is in activity
mode.  Larger numbers make the visible block smaller.
</para>

@pbar: a #GtkProgressBar.
@blocks: number of blocks which can fit within the progress bar area.


<!-- ##### FUNCTION gtk_progress_bar_update ##### -->
<para>
This function is deprecated.  Please use gtk_progress_set_value() or
gtk_progress_set_percentage() instead.
</para>

@pbar: a #GtkProgressBar.
@percentage: the new percent complete value.