f5825df6b346346d5646ded6bb63d5039ac9d116
[cl-gtk2.git] / doc / gtk.widgets.texi
1 @menu
2 * about-dialog::
3 * accel-label::
4 * alignment::
5 * arrow::
6 * aspect-frame::
7 * assistant::
8 * bin::
9 * box::
10 * button::
11 * button-box::
12 * calendar::
13 * cell-view::
14 * check-button::
15 * check-menu-item::
16 * color-button::
17 * color-selection::
18 * color-selection-dialog::
19 * combo-box::
20 * combo-box-entry::
21 * container::
22 * curve::
23 * dialog::
24 * drawing-area::
25 * entry::
26 * event-box::
27 * expander::
28 * file-chooser-button::
29 * file-chooser-dialog::
30 * file-chooser-widget::
31 * fixed::
32 * font-button::
33 * font-selection::
34 * font-selection-dialog::
35 * frame::
36 * gamma-curve::
37 * gtk-window::
38 * h-box::
39 * h-button-box::
40 * h-paned::
41 * h-ruler::
42 * h-s-v::
43 * h-scale::
44 * h-scrollbar::
45 * h-separator::
46 * handle-box::
47 * icon-view::
48 * image::
49 * image-menu-item::
50 * input-dialog::
51 * invisible::
52 * item::
53 * label::
54 * layout::
55 * link-button::
56 * menu::
57 * menu-bar::
58 * menu-item::
59 * menu-shell::
60 * menu-tool-button::
61 * message-dialog::
62 * misc::
63 * notebook::
64 * old-editable::
65 * paned::
66 * plug::
67 * progress::
68 * progress-bar::
69 * radio-button::
70 * radio-menu-item::
71 * radio-tool-button::
72 * range::
73 * recent-chooser-dialog::
74 * recent-chooser-menu::
75 * recent-chooser-widget::
76 * ruler::
77 * scale::
78 * scale-button::
79 * scrollbar::
80 * scrolled-window::
81 * separator::
82 * separator-menu-item::
83 * separator-tool-item::
84 * socket::
85 * spin-button::
86 * statusbar::
87 * table::
88 * tearoff-menu-item::
89 * text::
90 * text-view::
91 * toggle-button::
92 * toggle-tool-button::
93 * tool-button::
94 * tool-item::
95 * toolbar::
96 * tree::
97 * tree-item::
98 * tree-view::
99 * v-box::
100 * v-button-box::
101 * v-paned::
102 * v-ruler::
103 * v-scale::
104 * v-scrollbar::
105 * v-separator::
106 * viewport::
107 * volume-button::
108 * widget::
109 @end menu
110
111 @node about-dialog
112 @section about-dialog
113 @Class about-dialog
114 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable}
115
116 The @ref{about-dialog} offers a simple way to display information about a program like its logo, name, copyright, website and license. It is also possible to give credits to the authors, documenters, translators and artists who have worked on the program. An about dialog is typically opened when the user selects the About option from the Help menu. All parts of the dialog are optional.
117
118 About dialog often contain links and email addresses. @ref{about-dialog} supports this by offering global hooks (TODO: not implemented in cl-gtk2), which are called when the user clicks on a link or email address, see gtk_about_dialog_set_email_hook() and gtk_about_dialog_set_url_hook(). Email addresses in the authors, documenters and artists properties are recognized by looking for @code{<user@@host>}, URLs are recognized by looking for @code{http://url}, with url extending to the next space, tab or line break.
119
120 When setting the website and email hooks for the @ref{about-dialog} widget, you should remember that the order is important: you should set the hook functions before setting the website and email URL properties. Otherwise the @ref{about-dialog} widget will not display the website and the email addresses as clickable.
121
122 Note that GTK+ sets a default title of @code{_("About %s")} on the dialog window (where @code{%s} is replaced by the name of the application, but in order to ensure proper translation of the title, applications should set the title property explicitly when constructing a @ref{about-dialog}, as shown in the following example:
123
124 @lisp
125 (make-instance 'gtk:about-dialog :program-name "ExampleCode" :title "About ExampleCode")
126 @end lisp
127
128
129 Slots:
130 @itemize
131 @item @anchor{slot.about-dialog.artists}artists. Type: list of @code{string}. Accessor: @anchor{fn.about-dialog-artists}@code{about-dialog-artists}.
132
133 The people who contributed artwork to the program, as a list of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the description for more details.
134 @item @anchor{slot.about-dialog.authors}authors. Type: list of @code{string}. Accessor: @anchor{fn.about-dialog-authors}@code{about-dialog-authors}.
135
136 The authors of the program, as a list of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.
137 @item @anchor{slot.about-dialog.comments}comments. Type: @code{string}. Accessor: @anchor{fn.about-dialog-comments}@code{about-dialog-comments}.
138
139 Comments about the program. This string is displayed in a label in the main dialog, thus it should be a short explanation of the main purpose of the program, not a detailed list of features.
140
141 Default value: NIL
142 @item @anchor{slot.about-dialog.copyright}copyright. Type: @code{string}. Accessor: @anchor{fn.about-dialog-copyright}@code{about-dialog-copyright}.
143
144 Copyright information for the program.
145
146 Default value: NIL
147 @item @anchor{slot.about-dialog.documenters}documenters. Type: list of @code{string}. Accessor: @anchor{fn.about-dialog-documenters}@code{about-dialog-documenters}.
148
149 The people documenting the program, as a list of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.
150 @item @anchor{slot.about-dialog.license}license. Type: @code{string}. Accessor: @anchor{fn.about-dialog-license}@code{about-dialog-license}.
151
152 The license of the program. This string is displayed in a text view in a secondary dialog, therefore it is fine to use a long multi-paragraph text. Note that the text is only wrapped in the text view if the @SlotRef{about-dialog,wrap-license} property is set to True; otherwise the text itself must contain the intended linebreaks.
153
154 Default value: NIL
155 @item @anchor{slot.about-dialog.logo}logo. Type: @ref{pixbuf}. Accessor: @anchor{fn.about-dialog-logo}@code{about-dialog-logo}.
156
157 A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list().
158 @item @anchor{slot.about-dialog.logo-icon-name}logo-icon-name. Type: @code{string}. Accessor: @anchor{fn.about-dialog-logo-icon-name}@code{about-dialog-logo-icon-name}.
159
160 A named icon to use as the logo for the about box. This property overrides the @SlotRef{about-dialog,logo} property.
161
162 Default value: NIL
163 @item @anchor{slot.about-dialog.program-name}program-name. Type: @code{string}. Accessor: @anchor{fn.about-dialog-program-name}@code{about-dialog-program-name}.
164
165 The name of the program. If this is not set, it defaults to g_get_application_name().
166
167 Default value: NIL
168 @item @anchor{slot.about-dialog.translator-credits}translator-credits. Type: @code{string}. Accessor: @anchor{fn.about-dialog-translator-credits}@code{about-dialog-translator-credits}.
169
170 Credits to the translators. This string should be marked as translatable. The string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.
171
172 Default value: NIL
173 @item @anchor{slot.about-dialog.version}version. Type: @code{string}. Accessor: @anchor{fn.about-dialog-version}@code{about-dialog-version}.
174
175 The version of the program.
176
177 Default value: NIL
178 @item @anchor{slot.about-dialog.website}website. Type: @code{string}. Accessor: @anchor{fn.about-dialog-website}@code{about-dialog-website}.
179
180 The URL for the link to the website of the program. This should be a string starting with "http://.
181
182 Default value: NIL
183 @item @anchor{slot.about-dialog.website-label}website-label. Type: @code{string}. Accessor: @anchor{fn.about-dialog-website-label}@code{about-dialog-website-label}.
184
185 The label for the link to the website of the program. If this is not set, it defaults to the URL specified in the website property.
186
187 Default value: NIL
188 @item @anchor{slot.about-dialog.wrap-license}wrap-license. Type: @code{boolean}. Accessor: @anchor{fn.about-dialog-wrap-license}@code{about-dialog-wrap-license}.
189
190 Whether to wrap the text in the license dialog.
191
192 Default value: False
193 @end itemize
194
195 Signals:
196 @itemize
197 @end itemize
198
199
200
201
202 @node accel-label
203 @section accel-label
204 @Class accel-label
205 Superclass: @ref{label} @ref{atk-implementor-iface} @ref{buildable}
206
207 The @ref{accel-label} widget is a subclass of @ref{label} that also displays an accelerator key on the right of the label text, e.g. 'Ctl+S'. It is commonly used in menus to show the keyboard short-cuts for commands.
208
209 The accelerator key to display is not set explicitly. Instead, the @ref{accel-label} displays the accelerators which have been added to a particular widget. This widget is set by @SlotRef{accel-label,accel-widget}.
210
211 For example, a @ref{menu-item} widget may have an accelerator added to emit the @SignalRef{menu-item,activate} signal when the 'Ctl+S' key combination is pressed. A @ref{accel-label} is created and added to the @ref{accel-label}, and @SlotRef{accel-label,accel-widget} is set to the @ref{menu-item} as the second argument. The @ref{accel-label} will now display 'Ctl+S' after its label.
212
213 @c Note that creating a @ref{menu-item} with gtk_menu_item_new_with_label() (or one of the similar functions for GtkCheckMenuItem and GtkRadioMenuItem) automatically adds a GtkAccelLabel to the GtkMenuItem and calls gtk_accel_label_set_accel_widget() to set it up for you.
214
215 A @ref{accel-label} will only display accelerators which have @FlagsVRef{accel-flags,visible} set. A@ref{accel-label} can display multiple accelerators and even signal names, though it is almost always used to display just one accelerator key.
216
217 Slots:
218 @itemize
219 @item @anchor{slot.accel-label.accel-closure}accel-closure. Type: @code{GClosure}. Accessor: @anchor{fn.accel-label-accel-closure}@code{accel-label-accel-closure}.
220
221 The closure to be monitored for accelerator changes.
222
223 TODO: GClosure type mapping is not supported
224 @item @anchor{slot.accel-label.accel-widget}accel-widget. Type: @ref{widget}. Accessor: @anchor{fn.accel-label-accel-widget}@code{accel-label-accel-widget}.
225
226 The widget to be monitored for accelerator changes.
227 @end itemize
228
229
230 Signals:
231 @itemize
232 @end itemize
233
234
235
236
237 @node alignment
238 @section alignment
239 @Class alignment
240 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
241
242 Slots:
243 @itemize
244 @item @anchor{slot.alignment.bottom-padding}bottom-padding. Type: @code{integer}. Accessor: @anchor{fn.alignment-bottom-padding}@code{alignment-bottom-padding}.
245 @item @anchor{slot.alignment.left-padding}left-padding. Type: @code{integer}. Accessor: @anchor{fn.alignment-left-padding}@code{alignment-left-padding}.
246 @item @anchor{slot.alignment.right-padding}right-padding. Type: @code{integer}. Accessor: @anchor{fn.alignment-right-padding}@code{alignment-right-padding}.
247 @item @anchor{slot.alignment.top-padding}top-padding. Type: @code{integer}. Accessor: @anchor{fn.alignment-top-padding}@code{alignment-top-padding}.
248 @item @anchor{slot.alignment.xalign}xalign. Type: @code{single-float}. Accessor: @anchor{fn.alignment-xalign}@code{alignment-xalign}.
249 @item @anchor{slot.alignment.xscale}xscale. Type: @code{single-float}. Accessor: @anchor{fn.alignment-xscale}@code{alignment-xscale}.
250 @item @anchor{slot.alignment.yalign}yalign. Type: @code{single-float}. Accessor: @anchor{fn.alignment-yalign}@code{alignment-yalign}.
251 @item @anchor{slot.alignment.yscale}yscale. Type: @code{single-float}. Accessor: @anchor{fn.alignment-yscale}@code{alignment-yscale}.
252 @end itemize
253
254
255 Signals:
256 @itemize
257 @end itemize
258
259
260
261
262 @node arrow
263 @section arrow
264 @Class arrow
265 Superclass: @ref{misc} @ref{atk-implementor-iface} @ref{buildable}
266
267 Slots:
268 @itemize
269 @item @anchor{slot.arrow.arrow-type}arrow-type. Type: @ref{arrow-type}. Accessor: @anchor{fn.arrow-arrow-type}@code{arrow-arrow-type}.
270 @item @anchor{slot.arrow.shadow-type}shadow-type. Type: @ref{shadow-type}. Accessor: @anchor{fn.arrow-shadow-type}@code{arrow-shadow-type}.
271 @end itemize
272
273
274 Signals:
275 @itemize
276 @end itemize
277
278
279
280
281 @node aspect-frame
282 @section aspect-frame
283 @Class aspect-frame
284 Superclass: @ref{frame} @ref{atk-implementor-iface} @ref{buildable}
285
286 Slots:
287 @itemize
288 @item @anchor{slot.aspect-frame.obey-child}obey-child. Type: @code{boolean}. Accessor: @anchor{fn.aspect-frame-obey-child}@code{aspect-frame-obey-child}.
289 @item @anchor{slot.aspect-frame.ratio}ratio. Type: @code{single-float}. Accessor: @anchor{fn.aspect-frame-ratio}@code{aspect-frame-ratio}.
290 @item @anchor{slot.aspect-frame.xalign}xalign. Type: @code{single-float}. Accessor: @anchor{fn.aspect-frame-xalign}@code{aspect-frame-xalign}.
291 @item @anchor{slot.aspect-frame.yalign}yalign. Type: @code{single-float}. Accessor: @anchor{fn.aspect-frame-yalign}@code{aspect-frame-yalign}.
292 @end itemize
293
294
295 Signals:
296 @itemize
297 @end itemize
298
299
300
301
302 @node assistant
303 @section assistant
304 @Class assistant
305 Superclass: @ref{gtk-window} @ref{atk-implementor-iface} @ref{buildable}
306
307 A @ref{assistant} is a widget used to represent a generally complex operation splitted in several steps, guiding the user through its pages and controlling the page flow to collect the necessary data.
308
309 Slots:
310 @itemize
311 @item @anchor{slot.assistant.current-page}current-page. Type: @code{integer}. Accessor: @anchor{fn.assistant-current-page}@code{assistant-current-page}.
312
313 The index (starting from 0) of the current page in the assistant, or -1 if the assistant has no pages.
314 @item @anchor{slot.assistant.forward-page-function}forward-page-function. function. Accessor: @anchor{fn.assistant-forward-page-function}@code{assistant-forward-page-function}. Write-only.
315
316 Page forwarding function is used to determine what will be the next page when the user presses the forward button. Setting this to NIL will make the assistant to use the default forward function, which just goes to the next visible page.
317 The function called both for computing the next page when the user presses the "forward" button and for handling the behavior of the "last" button. The function accepts a single integer - the current page number and returns the page number for the next page.
318 @item @anchor{slot.assistant.n-pages}n-pages. Type: @code{integer}. Accessor: @anchor{fn.assistant-n-pages}@code{assistant-n-pages}. Read-only.
319
320 The number of pages in the assistant
321 @end itemize
322
323
324 Signals:
325 @itemize
326 @item @anchor{signal.assistant.apply}"apply". Signature: (instance @ref{assistant}) @result{} void. Options: run-last.
327
328 This signal is emitted when the apply button is clicked. The default behavior of the @ref{assistant} is to switch to the page after the current page, unless the current page is the last one.
329
330 A handler for the @SignalRef{assistant,apply} signal should carry out the actions for which the wizard has collected data. If the action takes a long time to complete, you might consider to put a page of type @EnumVRef{assistant-page-type,progress} after the confirmation page and handle this operation within the @SignalRef{assistant,prepare} signal of the progress page.
331 @item @anchor{signal.assistant.cancel}"cancel". Signature: (instance @ref{assistant}) @result{} void. Options: run-last.
332
333 This signal is emitted when then the cancel button is clicked.
334 @item @anchor{signal.assistant.close}"close". Signature: (instance @ref{assistant}) @result{} void. Options: run-last.
335
336 This signal is emitted either when the close button of a summary page is clicked, or when the apply button in the last page in the flow (of type @EnumVRef{assistant-page-type,confirm}) is clicked.
337 @item @anchor{signal.assistant.prepare}"prepare". Signature: (instance @ref{assistant}), (page @ref{widget}) @result{} void. Options: run-last.
338
339 This signal is emitted when a new page is set as the assistant's current page, before making the new page visible. A handler for this signal can do any preparation which are necessary before showing page.
340 @end itemize
341
342 @RMethod assistant-nth-page
343 @lisp
344 (assistant-nth-page assistant page-number) @result{} page-widget
345 @end lisp
346
347 Returns the child widget (a @ref{widget}) contained in page number @var{page-number} (an integer).
348
349 @RMethod assistant-append-page
350 @lisp
351 (assistant-append-page assistant page)
352 @end lisp
353
354 Appends a @var{page} (a @ref{widget}) to the @var{assistant} (a @ref{assistant}).
355
356 @RMethod assistant-prepend-page
357 @lisp
358 (assistant-prepend-page assistant page)
359 @end lisp
360
361 Prepends a @var{page} (a @ref{widget}) to the @var{assistant} (a @ref{assistant}).
362
363 @RMethod assistant-insert-page
364 @lisp
365 (assistant-insert-page assistant page position) @result{} page-number
366 @end lisp
367
368 Inserts a @var{page} (a @ref{widget}) in the @var{assistant} (a @ref{assistant}) at a given @var{position}. @var{position} is the index (starting at 0) at which to insert the page, or -1 to append the page. Returns the index of inserted @var{page}.
369
370 @RMethod assistant-add-action-widget
371 @lisp
372 (assistant-add-action-widget assistant widget)
373 @end lisp
374
375 Adds the @var{widget} (a @ref{widget}) to the action area of a @var{assistant} (a @ref{assistant}).
376
377 @RMethod assistant-remove-action-widget
378 @lisp
379 (assistant-remove-action-widget assistant widget)
380 @end lisp
381
382 Removes the @var{widget} (a @ref{widget}) from the action area of a @var{assistant} (a @ref{assistant}).
383
384 @RMethod assistant-update-buttons-state
385 @lisp
386 (assistant-update-buttons-state assistant)
387 @end lisp
388
389 Forces @var{assistant} (a @ref{assistant}) to recompute the buttons state.
390
391 GTK+ automatically takes care of this in most situations, e.g. when the user goes to a different page, or when the visibility or completeness of a page changes.
392
393 One situation where it can be necessary to call this function is when changing a value on the current page affects the future page flow of the assistant.
394
395 @node bin
396 @section bin
397 @Class bin
398 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
399
400 Subclasses: @ref{viewport} @ref{scrolled-window} @ref{tool-item} @ref{handle-box} @ref{expander} @ref{event-box} @ref{combo-box} @ref{frame} @ref{alignment} @ref{button} @ref{item} @ref{gtk-window}
401
402 Slots:
403 @itemize
404 @end itemize
405
406
407 Signals:
408 @itemize
409 @end itemize
410
411
412
413
414 @node box
415 @section box
416 @Class box
417 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
418
419 Subclasses: @ref{h-box} @ref{v-box} @ref{button-box}
420
421 Slots:
422 @itemize
423 @item @anchor{slot.box.homogeneous}homogeneous. Type: @code{boolean}. Accessor: @anchor{fn.box-homogeneous}@code{box-homogeneous}.
424 @item @anchor{slot.box.spacing}spacing. Type: @code{integer}. Accessor: @anchor{fn.box-spacing}@code{box-spacing}.
425 @end itemize
426
427
428 Signals:
429 @itemize
430 @end itemize
431
432
433
434
435 @node button
436 @section button
437 @Class button
438 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
439
440 Subclasses: @ref{scale-button} @ref{link-button} @ref{font-button} @ref{color-button} @ref{toggle-button}
441
442 The @ref{button} widget is generally used to attach a function to that is called when the button is pressed. The various signals and how to use them are outlined below.
443
444 The @ref{button} widget can hold any valid child widget. That is it can hold most any other standard @ref{widget}. The most commonly used child is the @ref{label}.
445
446 Slots:
447 @itemize
448 @item @anchor{slot.button.focus-on-click}focus-on-click. Type: @code{boolean}. Accessor: @anchor{fn.button-focus-on-click}@code{button-focus-on-click}.
449
450 Whether the button grabs focus when it is clicked with the mouse.
451
452 Default value: True
453 @item @anchor{slot.button.image}image. Type: @ref{widget}. Accessor: @anchor{fn.button-image}@code{button-image}.
454
455 Child widget to appear next to the button text.
456 @item @anchor{slot.button.image-position}image-position. Type: @ref{position-type}. Accessor: @anchor{fn.button-image-position}@code{button-image-position}.
457
458 The position of the image relative to the text inside the button.
459
460 Default value: @EnumVRef{position-type,left}
461 @item @anchor{slot.button.label}label. Type: @code{string}. Accessor: @anchor{fn.button-label}@code{button-label}.
462
463 Text of the label widget inside the button, if the button contains a label widget.
464
465 Default value: NIL
466 @item @anchor{slot.button.relief}relief. Type: @ref{relief-style}. Accessor: @anchor{fn.button-relief}@code{button-relief}.
467
468 The border relief style.
469
470 Default value: @EnumVRef{relief-style,normal}
471 @item @anchor{slot.button.use-stock}use-stock. Type: @code{boolean}. Accessor: @anchor{fn.button-use-stock}@code{button-use-stock}.
472
473 If set, the label is used to pick a stock item instead of being displayed.
474
475 Default value: False
476 @item @anchor{slot.button.use-underline}use-underline. Type: @code{boolean}. Accessor: @anchor{fn.button-use-underline}@code{button-use-underline}.
477
478 If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.
479
480 Default value: False
481 @item @anchor{slot.button.xalign}xalign. Type: @code{single-float}. Accessor: @anchor{fn.button-xalign}@code{button-xalign}.
482
483 If the child of the button is a @ref{misc} or @ref{alignment}, this property can be used to control it's horizontal alignment. 0.0 is left aligned, 1.0 is right aligned.
484
485 Allowed values: [0,1]
486
487 Default value: 0.5
488 @item @anchor{slot.button.yalign}yalign. Type: @code{single-float}. Accessor: @anchor{fn.button-yalign}@code{button-yalign}.
489
490 If the child of the button is a @ref{misc} or @ref{alignment}, this property can be used to control it's vertical alignment. 0.0 is left aligned, 1.0 is right aligned.
491
492 Allowed values: [0,1]
493
494 Default value: 0.5
495 @end itemize
496
497
498 Signals:
499 @itemize
500 @item @anchor{signal.button.activate}"activate". Signature: (instance @ref{button}) @result{} void. Options: run-first, action.
501
502 This signal is an action signal and emitting it causes the button to animate press then release. Applications should never connect to this signal, but use the @SignalRef{button,clicked} signal.
503 @item @anchor{signal.button.clicked}"clicked". Signature: (instance @ref{button}) @result{} void. Options: run-first, action.
504
505 Emitted when the button has been activated (pressed and released).
506 @item @anchor{signal.button.enter}"enter". Signature: (instance @ref{button}) @result{} void. Options: run-first.
507
508 Emitted when the pointer enters the button.
509 @item @anchor{signal.button.leave}"leave". Signature: (instance @ref{button}) @result{} void. Options: run-first.
510
511 Emitted when the pointer leaves the button.
512 @item @anchor{signal.button.pressed}"pressed". Signature: (instance @ref{button}) @result{} void. Options: run-first.
513
514 Emitted when the button is pressed.
515 @item @anchor{signal.button.released}"released". Signature: (instance @ref{button}) @result{} void. Options: run-first.
516
517 Emitted when the button is released.
518 @end itemize
519
520
521
522
523 @node button-box
524 @section button-box
525 @Class button-box
526 Superclass: @ref{box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
527
528 Subclasses: @ref{v-button-box} @ref{h-button-box}
529
530 Slots:
531 @itemize
532 @item @anchor{slot.button-box.layout-style}layout-style. Type: @ref{button-box-style}. Accessor: @anchor{fn.button-box-layout-style}@code{button-box-layout-style}.
533 @end itemize
534
535
536 Signals:
537 @itemize
538 @end itemize
539
540
541
542
543 @node calendar
544 @section calendar
545 @Class calendar
546 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
547
548 Slots:
549 @itemize
550 @item @anchor{slot.calendar.day}day. Type: @code{integer}. Accessor: @anchor{fn.calendar-day}@code{calendar-day}.
551 @item @anchor{slot.calendar.detail-function}detail-function. Type: ????. Accessor: @anchor{fn.calendar-detail-function}@code{calendar-detail-function}. Write-only.
552 @item @anchor{slot.calendar.detail-height-rows}detail-height-rows. Type: @code{integer}. Accessor: @anchor{fn.calendar-detail-height-rows}@code{calendar-detail-height-rows}.
553 @item @anchor{slot.calendar.detail-width-chars}detail-width-chars. Type: @code{integer}. Accessor: @anchor{fn.calendar-detail-width-chars}@code{calendar-detail-width-chars}.
554 @item @anchor{slot.calendar.month}month. Type: @code{integer}. Accessor: @anchor{fn.calendar-month}@code{calendar-month}.
555 @item @anchor{slot.calendar.no-month-change}no-month-change. Type: @code{boolean}. Accessor: @anchor{fn.calendar-no-month-change}@code{calendar-no-month-change}.
556 @item @anchor{slot.calendar.show-day-names}show-day-names. Type: @code{boolean}. Accessor: @anchor{fn.calendar-show-day-names}@code{calendar-show-day-names}.
557 @item @anchor{slot.calendar.show-details}show-details. Type: @code{boolean}. Accessor: @anchor{fn.calendar-show-details}@code{calendar-show-details}.
558 @item @anchor{slot.calendar.show-heading}show-heading. Type: @code{boolean}. Accessor: @anchor{fn.calendar-show-heading}@code{calendar-show-heading}.
559 @item @anchor{slot.calendar.show-week-numbers}show-week-numbers. Type: @code{boolean}. Accessor: @anchor{fn.calendar-show-week-numbers}@code{calendar-show-week-numbers}.
560 @item @anchor{slot.calendar.year}year. Type: @code{integer}. Accessor: @anchor{fn.calendar-year}@code{calendar-year}.
561 @end itemize
562
563
564 Signals:
565 @itemize
566 @item @anchor{signal.calendar.day-selected}"day-selected". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
567 @item @anchor{signal.calendar.day-selected-double-click}"day-selected-double-click". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
568 @item @anchor{signal.calendar.month-changed}"month-changed". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
569 @item @anchor{signal.calendar.next-month}"next-month". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
570 @item @anchor{signal.calendar.next-year}"next-year". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
571 @item @anchor{signal.calendar.prev-month}"prev-month". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
572 @item @anchor{signal.calendar.prev-year}"prev-year". Signature: (instance @ref{calendar}) @result{} void. Options: run-first.
573 @end itemize
574
575
576
577
578 @node cell-view
579 @section cell-view
580 @Class cell-view
581 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable} @ref{cell-layout}
582
583 Slots:
584 @itemize
585 @item @anchor{slot.cell-view.background}background. Type: @code{string}. Accessor: @anchor{fn.cell-view-background}@code{cell-view-background}. Write-only.
586 @item @anchor{slot.cell-view.background-gdk}background-gdk. Type: @ref{color}. Accessor: @anchor{fn.cell-view-background-gdk}@code{cell-view-background-gdk}.
587 @item @anchor{slot.cell-view.background-set}background-set. Type: @code{boolean}. Accessor: @anchor{fn.cell-view-background-set}@code{cell-view-background-set}.
588 @item @anchor{slot.cell-view.displayed-row}displayed-row. Type: @ref{tree-path}. Accessor: @anchor{fn.cell-view-displayed-row}@code{cell-view-displayed-row}.
589 @item @anchor{slot.cell-view.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.cell-view-model}@code{cell-view-model}.
590 @end itemize
591
592
593 Signals:
594 @itemize
595 @end itemize
596
597
598
599
600 @node check-button
601 @section check-button
602 @Class check-button
603 Superclass: @ref{toggle-button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
604
605 Subclasses: @ref{radio-button}
606
607
608 A @ref{check-button} places a discrete @ref{toggle-button} next to a widget, (usually a @ref{label}). See the @ref{toggle-button} for more information about toggle/check buttons.
609
610 The important signal @SignalRef{toggle-button,toggled} is also inherited from @ref{toggle-button}.
611
612 Slots:
613 @itemize
614 @end itemize
615
616
617 Signals:
618 @itemize
619 @end itemize
620
621
622
623
624 @node check-menu-item
625 @section check-menu-item
626 @Class check-menu-item
627 Superclass: @ref{menu-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
628
629 Subclasses: @ref{radio-menu-item}
630
631 Slots:
632 @itemize
633 @item @anchor{slot.check-menu-item.active}active. Type: @code{boolean}. Accessor: @anchor{fn.check-menu-item-active}@code{check-menu-item-active}.
634 @item @anchor{slot.check-menu-item.draw-as-radio}draw-as-radio. Type: @code{boolean}. Accessor: @anchor{fn.check-menu-item-draw-as-radio}@code{check-menu-item-draw-as-radio}.
635 @item @anchor{slot.check-menu-item.inconsistent}inconsistent. Type: @code{boolean}. Accessor: @anchor{fn.check-menu-item-inconsistent}@code{check-menu-item-inconsistent}.
636 @end itemize
637
638
639 Signals:
640 @itemize
641 @item @anchor{signal.check-menu-item.toggled}"toggled". Signature: (instance @ref{check-menu-item}) @result{} void. Options: run-first.
642 @end itemize
643
644
645
646
647 @node color-button
648 @section color-button
649 @Class color-button
650 Superclass: @ref{button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
651
652 Slots:
653 @itemize
654 @item @anchor{slot.color-button.alpha}alpha. Type: @code{integer}. Accessor: @anchor{fn.color-button-alpha}@code{color-button-alpha}.
655 @item @anchor{slot.color-button.color}color. Type: @ref{color}. Accessor: @anchor{fn.color-button-color}@code{color-button-color}.
656 @item @anchor{slot.color-button.title}title. Type: @code{string}. Accessor: @anchor{fn.color-button-title}@code{color-button-title}.
657 @item @anchor{slot.color-button.use-alpha}use-alpha. Type: @code{boolean}. Accessor: @anchor{fn.color-button-use-alpha}@code{color-button-use-alpha}.
658 @end itemize
659
660
661 Signals:
662 @itemize
663 @item @anchor{signal.color-button.color-set}"color-set". Signature: (instance @ref{color-button}) @result{} void. Options: run-first.
664 @end itemize
665
666
667
668
669 @node color-selection
670 @section color-selection
671 @Class color-selection
672 Superclass: @ref{v-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
673
674 Slots:
675 @itemize
676 @item @anchor{slot.color-selection.current-alpha}current-alpha. Type: @code{integer}. Accessor: @anchor{fn.color-selection-current-alpha}@code{color-selection-current-alpha}.
677 @item @anchor{slot.color-selection.current-color}current-color. Type: @ref{color}. Accessor: @anchor{fn.color-selection-current-color}@code{color-selection-current-color}.
678 @item @anchor{slot.color-selection.has-opacity-control}has-opacity-control. Type: @code{boolean}. Accessor: @anchor{fn.color-selection-has-opacity-control}@code{color-selection-has-opacity-control}.
679 @item @anchor{slot.color-selection.has-palette}has-palette. Type: @code{boolean}. Accessor: @anchor{fn.color-selection-has-palette}@code{color-selection-has-palette}.
680 @end itemize
681
682
683 Signals:
684 @itemize
685 @item @anchor{signal.color-selection.color-changed}"color-changed". Signature: (instance @ref{color-selection}) @result{} void. Options: run-first.
686 @end itemize
687
688
689
690
691 @node color-selection-dialog
692 @section color-selection-dialog
693 @Class color-selection-dialog
694 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable}
695
696 Slots:
697 @itemize
698 @item @anchor{slot.color-selection-dialog.cancel-button}cancel-button. Type: @ref{widget}. Accessor: @anchor{fn.color-selection-dialog-cancel-button}@code{color-selection-dialog-cancel-button}. Read-only.
699 @item @anchor{slot.color-selection-dialog.color-selection}color-selection. Type: @ref{widget}. Accessor: @anchor{fn.color-selection-dialog-color-selection}@code{color-selection-dialog-color-selection}. Read-only.
700 @item @anchor{slot.color-selection-dialog.help-button}help-button. Type: @ref{widget}. Accessor: @anchor{fn.color-selection-dialog-help-button}@code{color-selection-dialog-help-button}. Read-only.
701 @item @anchor{slot.color-selection-dialog.ok-button}ok-button. Type: @ref{widget}. Accessor: @anchor{fn.color-selection-dialog-ok-button}@code{color-selection-dialog-ok-button}. Read-only.
702 @end itemize
703
704
705 Signals:
706 @itemize
707 @end itemize
708
709
710
711
712 @node combo-box
713 @section combo-box
714 @Class combo-box
715 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable} @ref{cell-editable} @ref{cell-layout}
716
717 Subclasses: @ref{combo-box-entry}
718
719 Slots:
720 @itemize
721 @item @anchor{slot.combo-box.active}active. Type: @code{integer}. Accessor: @anchor{fn.combo-box-active}@code{combo-box-active}.
722 @item @anchor{slot.combo-box.active-iter}active-iter. Type: @ref{tree-iter}. Accessor: @anchor{fn.combo-box-active-iter}@code{combo-box-active-iter}.
723 @item @anchor{slot.combo-box.add-tearoffs}add-tearoffs. Type: @code{boolean}. Accessor: @anchor{fn.combo-box-add-tearoffs}@code{combo-box-add-tearoffs}.
724 @item @anchor{slot.combo-box.button-sensitivity}button-sensitivity. Type: @ref{sensitivity-type}. Accessor: @anchor{fn.combo-box-button-sensitivity}@code{combo-box-button-sensitivity}.
725 @item @anchor{slot.combo-box.column-span-column}column-span-column. Type: @code{integer}. Accessor: @anchor{fn.combo-box-column-span-column}@code{combo-box-column-span-column}.
726 @item @anchor{slot.combo-box.focus-on-click}focus-on-click. Type: @code{boolean}. Accessor: @anchor{fn.combo-box-focus-on-click}@code{combo-box-focus-on-click}.
727 @item @anchor{slot.combo-box.has-frame}has-frame. Type: @code{boolean}. Accessor: @anchor{fn.combo-box-has-frame}@code{combo-box-has-frame}.
728 @item @anchor{slot.combo-box.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.combo-box-model}@code{combo-box-model}.
729 @item @anchor{slot.combo-box.popup-shown}popup-shown. Type: @code{boolean}. Accessor: @anchor{fn.combo-box-popup-shown}@code{combo-box-popup-shown}. Read-only.
730 @item @anchor{slot.combo-box.row-separator-func}row-separator-func. Type: ????. Accessor: @anchor{fn.combo-box-row-separator-func}@code{combo-box-row-separator-func}. Write-only.
731 @item @anchor{slot.combo-box.row-span-column}row-span-column. Type: @code{integer}. Accessor: @anchor{fn.combo-box-row-span-column}@code{combo-box-row-span-column}.
732 @item @anchor{slot.combo-box.tearoff-title}tearoff-title. Type: @code{string}. Accessor: @anchor{fn.combo-box-tearoff-title}@code{combo-box-tearoff-title}.
733 @item @anchor{slot.combo-box.wrap-width}wrap-width. Type: @code{integer}. Accessor: @anchor{fn.combo-box-wrap-width}@code{combo-box-wrap-width}.
734 @end itemize
735
736
737 Signals:
738 @itemize
739 @item @anchor{signal.combo-box.changed}"changed". Signature: (instance @ref{combo-box}) @result{} void. Options: run-last.
740 @item @anchor{signal.combo-box.move-active}"move-active". Signature: (instance @ref{combo-box}), (arg-1 @ref{scroll-type}) @result{} void. Options: run-last, action.
741 @item @anchor{signal.combo-box.popdown}"popdown". Signature: (instance @ref{combo-box}) @result{} @code{boolean}. Options: run-last, action.
742 @item @anchor{signal.combo-box.popup}"popup". Signature: (instance @ref{combo-box}) @result{} void. Options: run-last, action.
743 @end itemize
744
745
746
747
748 @node combo-box-entry
749 @section combo-box-entry
750 @Class combo-box-entry
751 Superclass: @ref{combo-box} @ref{atk-implementor-iface} @ref{buildable} @ref{cell-editable} @ref{cell-layout}
752
753 Slots:
754 @itemize
755 @item @anchor{slot.combo-box-entry.text-column}text-column. Type: @code{integer}. Accessor: @anchor{fn.combo-box-entry-text-column}@code{combo-box-entry-text-column}.
756 @end itemize
757
758
759 Signals:
760 @itemize
761 @end itemize
762
763
764
765
766 @node container
767 @section container
768 @Class container
769 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
770
771 Subclasses: @ref{tree} @ref{toolbar} @ref{text-view} @ref{table} @ref{socket} @ref{layout} @ref{paned} @ref{fixed} @ref{box} @ref{icon-view} @ref{tree-view} @ref{notebook} @ref{menu-shell} @ref{bin}
772
773 Slots:
774 @itemize
775 @item @anchor{slot.container.border-width}border-width. Type: @code{integer}. Accessor: @anchor{fn.container-border-width}@code{container-border-width}.
776 @item @anchor{slot.container.child}child. Type: @ref{widget}. Accessor: @anchor{fn.container-child}@code{container-child}. Write-only.
777 @item @anchor{slot.container.focus-child}focus-child. Type: @ref{g-object}. Accessor: @anchor{fn.container-focus-child}@code{container-focus-child}.
778 @item @anchor{slot.container.focus-hadjustment}focus-hadjustment. Type: @ref{g-object}. Accessor: @anchor{fn.container-focus-hadjustment}@code{container-focus-hadjustment}.
779 @item @anchor{slot.container.focus-vadjustment}focus-vadjustment. Type: @ref{g-object}. Accessor: @anchor{fn.container-focus-vadjustment}@code{container-focus-vadjustment}.
780 @item @anchor{slot.container.resize-mode}resize-mode. Type: @ref{resize-mode}. Accessor: @anchor{fn.container-resize-mode}@code{container-resize-mode}.
781 @end itemize
782
783
784 Signals:
785 @itemize
786 @item @anchor{signal.container.add}"add". Signature: (instance @ref{container}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
787 @item @anchor{signal.container.check-resize}"check-resize". Signature: (instance @ref{container}) @result{} void. Options: run-last.
788 @item @anchor{signal.container.remove}"remove". Signature: (instance @ref{container}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
789 @item @anchor{signal.container.set-focus-child}"set-focus-child". Signature: (instance @ref{container}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
790 @end itemize
791
792
793
794
795 @node curve
796 @section curve
797 @Class curve
798 Superclass: @ref{drawing-area} @ref{atk-implementor-iface} @ref{buildable}
799
800 Slots:
801 @itemize
802 @item @anchor{slot.curve.curve-type}curve-type. Type: @ref{curve-type}. Accessor: @anchor{fn.curve-curve-type}@code{curve-curve-type}.
803 @item @anchor{slot.curve.max-x}max-x. Type: @code{single-float}. Accessor: @anchor{fn.curve-max-x}@code{curve-max-x}.
804 @item @anchor{slot.curve.max-y}max-y. Type: @code{single-float}. Accessor: @anchor{fn.curve-max-y}@code{curve-max-y}.
805 @item @anchor{slot.curve.min-x}min-x. Type: @code{single-float}. Accessor: @anchor{fn.curve-min-x}@code{curve-min-x}.
806 @item @anchor{slot.curve.min-y}min-y. Type: @code{single-float}. Accessor: @anchor{fn.curve-min-y}@code{curve-min-y}.
807 @end itemize
808
809
810 Signals:
811 @itemize
812 @item @anchor{signal.curve.curve-type-changed}"curve-type-changed". Signature: (instance @ref{curve}) @result{} void. Options: run-first.
813 @end itemize
814
815
816
817
818 @node dialog
819 @section dialog
820 @Class dialog
821 Superclass: @ref{gtk-window} @ref{atk-implementor-iface} @ref{buildable}
822
823 Subclasses: @ref{recent-chooser-dialog} @ref{message-dialog} @ref{input-dialog} @ref{font-selection-dialog} @ref{file-chooser-dialog} @ref{color-selection-dialog} @ref{about-dialog}
824
825 Dialog boxes are a convenient way to prompt the user for a small amount of input, e.g. to display a message, ask a question, or anything else that does not require extensive effort on the user's part.
826
827 GTK+ treats a dialog as a window split vertically. The top section is a @ref{v-box}, and is where widgets such as a @ref{label} or a @ref{entry} should be packed. The bottom area is known as the @SlotRef{dialog,action-area}. This is generally used for packing buttons into the dialog which may perform functions such as cancel, ok, or apply. The two areas are separated by a @ref{h-separator}.
828
829 If 'dialog' is a newly created dialog, the two primary areas of the window can be accessed through @SlotRef{dialog,content-area} and @SlotRef{dialog,action-area}.
830
831 A 'modal' dialog (that is, one which freezes the rest of the application from user input), can be created by setting @SlotRef{gtk-window,modal} (e.g., by specifying @code{:modal t} initarg).
832
833 If you add buttons to @ref{dialog} using @ref{dialog-add-button}, or @ref{dialog-add-action-widget}, clicking the button will emit a @SignalRef{dialog,response} signal with a response ID that was specified. GTK+ will never assign a meaning to positive response IDs; these are entirely user-defined. But for convenience, you can use the response IDs in the @ref{response-type} enumeration (these all have values less than zero). If a dialog receives a delete event, the @SignalRef{dialog,response} signal will be emitted with a response ID of @EnumVRef{response-type,delete-event}.
834
835 TODO: cl-gtk2 does not yet support specifying custom response IDs.
836
837 If you want to block waiting for a dialog to return before returning control flow to your code, you can call @ref{dialog-run}. This function enters a recursive main loop and waits for the user to respond to the dialog, returning the response ID corresponding to the button the user clicked.
838
839 For the simple dialog in the following example, in reality you'd probably use @ref{message-dialog} to save yourself some effort. But you'd need to create the dialog contents manually if you had more than a simple message in the dialog.
840
841 @lisp
842 (defun quick-message (message)
843   "Function to open a dialog box display the MESSAGE"
844   (let ((dialog (make-instance 'gtk:dialog :title "Message")))
845     (gtk:dialog-add-button dialog "gtk-ok" :none)
846     (gtk:container-add (gtk:dialog-content-area dialog)
847                        (make-instance 'gtk:label :label message))
848     (gobject:connect-signal dialog "response"
849                             (lambda (dialog1 response-id)
850                               (declare (ignore dialog1 response-id))
851                               (gtk:object-destroy dialog)))
852     (gtk:widget-show dialog)))
853 @end lisp
854
855 Slots:
856 @itemize
857 @item @anchor{slot.dialog.action-area}action-area. Type: @ref{v-box}. Accessor: @anchor{fn.dialog-action-area}@code{dialog-action-area}. Read-only.
858
859 The action area of dialog.
860 @item @anchor{slot.dialog.alternative-button-order}alternative-button-order. Type: @code{list of @ref{response-type}}. Accessor: @anchor{fn.dialog-alternative-button-order}@code{dialog-alternative-button-order}. Write-only.
861
862 Sets an alternative button order. If the "gtk-alternative-button-order" setting is set to True, the dialog buttons are reordered according to the order of the response ids passed to this function.
863
864 By default, GTK+ dialogs use the button order advocated by the Gnome Human Interface Guidelines with the affirmative button at the far right, and the cancel button left of it. But the builtin GTK+ dialogs and @ref{message-dialog}s do provide an alternative button order, which is more suitable on some platforms, e.g. Windows.
865
866 Set this after adding all the buttons to your dialog, as the following example shows:
867
868 @lisp
869 (setf (dialog-alternative-button-order dialog) '(:ok :cancel :help))
870 @end lisp
871
872 @item @anchor{slot.dialog.content-area}content-area. Type: @ref{widget}. Accessor: @anchor{fn.dialog-content-area}@code{dialog-content-area}. Read-only.
873
874 The content area of dialog.
875
876 @item @anchor{slot.dialog.default-response}default-response. Type: @ref{response-type}. Accessor: @anchor{fn.dialog-default-response}@code{dialog-default-response}. Write-only.
877
878 The widget in the dialog's action area with the given this response is the default widget for the dialog. Pressing "Enter" normally activates the default widget.
879 @item @anchor{slot.dialog.has-separator}has-separator. Type: @code{boolean}. Accessor: @anchor{fn.dialog-has-separator}@code{dialog-has-separator}.
880
881
882 When True, the dialog has a separator bar above its buttons.
883
884 Default value: True
885 @end itemize
886
887
888 Signals:
889 @itemize
890 @item @anchor{signal.dialog.close}"close". Signature: (instance @ref{dialog}) @result{} void. Options: run-last, action.
891
892 The close signal is a keybinding signal which gets emitted when the user uses a keybinding to close the dialog.
893
894 The default binding for this signal is the Escape key.
895 @item @anchor{signal.dialog.response}"response". Signature: (instance @ref{dialog}), (response-id @code{integer}) @result{} void. Options: run-last.
896
897 Emitted when an action widget is clicked, the dialog receives a delete event, or the application programmer calls @ref{dialog-response}. On a delete event, the response ID is @EnumVRef{response-type,delete-event}. Otherwise, it depends on which action widget was clicked.
898
899 Note: because of some limitations, @var{response-id} is an integer. Use @code{(cffi:foreign-enum-keyword 'gtk:response-type response-id)} to get the value of type @ref{response-type}.
900 @end itemize
901
902 @RMethod dialog-run
903 @lisp
904 (dialog-run dialog) @result{} response
905 @end lisp
906
907 Blocks in a recursive main loop until the dialog either emits the @SignalRef{dialog,response} signal, or is destroyed. If the dialog is destroyed during the call to @ref{dialog-run}, it returns @EnumVRef{response-type,none}. Otherwise, it returns the response ID from the @SignalRef{dialog,response} signal emission.
908
909 Before entering the recursive main loop, @ref{dialog-run} calls @code{widget-show} on the dialog for you. Note that you still need to show any children of the dialog yourself.
910
911 During @ref{dialog-run}, the default behavior of @SignalRef{widget,delete-event} is disabled; if the dialog receives @SignalRef{widget,delete-event}, it will not be destroyed as windows usually are, and @ref{dialog-run} will return @EnumVRef{response-type,delete-event}. Also, during @ref{dialog-run} the dialog will be modal. You can force @ref{dialog-run} to return at any time by calling @ref{dialog-response} to emit the @SignalRef{dialog,response} signal. Destroying the dialog during @ref{dialog-run} is a very bad idea, because your post-run code won't know whether the dialog was destroyed or not.
912
913 After @ref{dialog-run} returns, you are responsible for hiding or destroying the dialog if you wish to do so.
914
915 Note that even though the recursive main loop gives the effect of a modal dialog (it prevents the user from interacting with other windows in the same window group while the dialog is run), callbacks such as timeouts, IO channel watches, DND drops, etc, will be triggered during a @ref{dialog-run} call.
916
917 @RMethod dialog-response
918 @lisp
919 (dialog-response dialog response)
920 @end lisp
921
922 Emits the @SignalRef{dialog,response} signal with the given @var{response} (of type @ref{response-type}). Used to indicate that the user has responded to the @var{dialog} in some way; typically either you or @ref{dialog-run} will be monitoring the @SignalRef{dialog,response} signal and take appropriate action.
923
924 @RMethod dialog-add-button
925 @lisp
926 (dialog-add-button dialog text response) @result{} button
927 @end lisp
928
929 Adds a button with the given @var{text} (or a stock button, if @var{text} is a stock ID) and sets things up so that clicking the button will emit the @SignalRef{dialog,response} signal with the given @var{response}. The button is appended to the end of the dialog's action area. The @ref{button} widget is returned, but usually you don't need it.
930
931 @RMethod dialog-add-action-widget
932 @lisp
933 (dialog-add-action-widget dialog widget response)
934 @end lisp
935
936 Adds an activatable @var{widget} to the action area of a @var{dialog}, connecting a signal handler that will emit the @SignalRef{dialog,response} signal on the dialog when the @var{widget} is activated. The @var{widget} is appended to the end of the dialog's action area. If you want to add a non-activatable widget, simply pack it into the @SlotRef{dialog,action-area} field of the @ref{dialog}.
937
938 @RMethod dialog-set-response-sensitive
939 @lisp
940 (dialog-set-response-sensitive dialog response setting)
941 @end lisp
942
943 Sets the @SlotRef{widget,sensitive} for each widget in the dialog's action area with the given @var{response}. A convenient way to sensitize/desensitize dialog buttons.
944
945 @RMethod dialog-response-for-widget
946 @lisp
947 (dialog-response-for-widget dialog widget) @result{} response
948 @end lisp
949
950 Gets the @var{response} (of type @ref{response-type}) of a @var{widget} in the action area of a @var{dialog}.
951
952 @RMethod dialog-alternative-button-order-on-screen
953 @lisp
954 (dialog-alternative-button-order-on-screen screen) @result{} boolean
955 @end lisp
956
957 Returns True if dialogs are expected to use an alternative button order on the @ref{screen} @var{screen}. See @SlotRef{dialog,alternative-button-order} for more details about alternative button order.
958
959 If you need to use this method, you should probably connect to the ::notify:gtk-alternative-button-order signal on the GtkSettings object associated to screen, in order to be notified if the button order setting changes.
960
961 @var{screen}: a @ref{screen} or a NIL if to use a default screen.
962
963 @node drawing-area
964 @section drawing-area
965 @Class drawing-area
966 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
967
968 Subclasses: @ref{curve}
969
970 Slots:
971 @itemize
972 @end itemize
973
974
975 Signals:
976 @itemize
977 @end itemize
978
979
980
981
982 @node entry
983 @section entry
984 @Class entry
985 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable} @ref{cell-editable} @ref{editable}
986
987 Subclasses: @ref{spin-button}
988
989 Slots:
990 @itemize
991 @item @anchor{slot.entry.activates-default}activates-default. Type: @code{boolean}. Accessor: @anchor{fn.entry-activates-default}@code{entry-activates-default}.
992 @item @anchor{slot.entry.caps-lock-warning}caps-lock-warning. Type: @code{boolean}. Accessor: @anchor{fn.entry-caps-lock-warning}@code{entry-caps-lock-warning}.
993 @item @anchor{slot.entry.cursor-position}cursor-position. Type: @code{integer}. Accessor: @anchor{fn.entry-cursor-position}@code{entry-cursor-position}. Read-only.
994 @item @anchor{slot.entry.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.entry-editable}@code{entry-editable}.
995 @item @anchor{slot.entry.has-frame}has-frame. Type: @code{boolean}. Accessor: @anchor{fn.entry-has-frame}@code{entry-has-frame}.
996 @item @anchor{slot.entry.im-module}im-module. Type: @code{string}. Accessor: @anchor{fn.entry-im-module}@code{entry-im-module}.
997 @item @anchor{slot.entry.inner-border}inner-border. Type: @ref{border}. Accessor: @anchor{fn.entry-inner-border}@code{entry-inner-border}.
998 @item @anchor{slot.entry.invisible-char}invisible-char. Type: @code{integer}. Accessor: @anchor{fn.entry-invisible-char}@code{entry-invisible-char}.
999 @item @anchor{slot.entry.invisible-char-set}invisible-char-set. Type: @code{boolean}. Accessor: @anchor{fn.entry-invisible-char-set}@code{entry-invisible-char-set}.
1000 @item @anchor{slot.entry.max-length}max-length. Type: @code{integer}. Accessor: @anchor{fn.entry-max-length}@code{entry-max-length}.
1001 @item @anchor{slot.entry.overwrite-mode}overwrite-mode. Type: @code{boolean}. Accessor: @anchor{fn.entry-overwrite-mode}@code{entry-overwrite-mode}.
1002 @item @anchor{slot.entry.primary-icon-activatable}primary-icon-activatable. Type: @code{boolean}. Accessor: @anchor{fn.entry-primary-icon-activatable}@code{entry-primary-icon-activatable}.
1003 @item @anchor{slot.entry.primary-icon-gicon}primary-icon-gicon. Type: @code{GIcon}. Accessor: @anchor{fn.entry-primary-icon-gicon}@code{entry-primary-icon-gicon}.
1004 @item @anchor{slot.entry.primary-icon-name}primary-icon-name. Type: @code{string}. Accessor: @anchor{fn.entry-primary-icon-name}@code{entry-primary-icon-name}.
1005 @item @anchor{slot.entry.primary-icon-pixbuf}primary-icon-pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.entry-primary-icon-pixbuf}@code{entry-primary-icon-pixbuf}.
1006 @item @anchor{slot.entry.primary-icon-sensitive}primary-icon-sensitive. Type: @code{boolean}. Accessor: @anchor{fn.entry-primary-icon-sensitive}@code{entry-primary-icon-sensitive}.
1007 @item @anchor{slot.entry.primary-icon-stock}primary-icon-stock. Type: @code{string}. Accessor: @anchor{fn.entry-primary-icon-stock}@code{entry-primary-icon-stock}.
1008 @item @anchor{slot.entry.primary-icon-storage-type}primary-icon-storage-type. Type: @ref{image-type}. Accessor: @anchor{fn.entry-primary-icon-storage-type}@code{entry-primary-icon-storage-type}. Read-only.
1009 @item @anchor{slot.entry.primary-icon-tooltip-markup}primary-icon-tooltip-markup. Type: @code{string}. Accessor: @anchor{fn.entry-primary-icon-tooltip-markup}@code{entry-primary-icon-tooltip-markup}.
1010 @item @anchor{slot.entry.primary-icon-tooltip-text}primary-icon-tooltip-text. Type: @code{string}. Accessor: @anchor{fn.entry-primary-icon-tooltip-text}@code{entry-primary-icon-tooltip-text}.
1011 @item @anchor{slot.entry.progress-fraction}progress-fraction. Type: @code{double-float}. Accessor: @anchor{fn.entry-progress-fraction}@code{entry-progress-fraction}.
1012 @item @anchor{slot.entry.progress-pulse-step}progress-pulse-step. Type: @code{double-float}. Accessor: @anchor{fn.entry-progress-pulse-step}@code{entry-progress-pulse-step}.
1013 @item @anchor{slot.entry.scroll-offset}scroll-offset. Type: @code{integer}. Accessor: @anchor{fn.entry-scroll-offset}@code{entry-scroll-offset}. Read-only.
1014 @item @anchor{slot.entry.secondary-icon-activatable}secondary-icon-activatable. Type: @code{boolean}. Accessor: @anchor{fn.entry-secondary-icon-activatable}@code{entry-secondary-icon-activatable}.
1015 @item @anchor{slot.entry.secondary-icon-gicon}secondary-icon-gicon. Type: @code{GIcon}. Accessor: @anchor{fn.entry-secondary-icon-gicon}@code{entry-secondary-icon-gicon}.
1016 @item @anchor{slot.entry.secondary-icon-name}secondary-icon-name. Type: @code{string}. Accessor: @anchor{fn.entry-secondary-icon-name}@code{entry-secondary-icon-name}.
1017 @item @anchor{slot.entry.secondary-icon-pixbuf}secondary-icon-pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.entry-secondary-icon-pixbuf}@code{entry-secondary-icon-pixbuf}.
1018 @item @anchor{slot.entry.secondary-icon-sensitive}secondary-icon-sensitive. Type: @code{boolean}. Accessor: @anchor{fn.entry-secondary-icon-sensitive}@code{entry-secondary-icon-sensitive}.
1019 @item @anchor{slot.entry.secondary-icon-stock}secondary-icon-stock. Type: @code{string}. Accessor: @anchor{fn.entry-secondary-icon-stock}@code{entry-secondary-icon-stock}.
1020 @item @anchor{slot.entry.secondary-icon-storage-type}secondary-icon-storage-type. Type: @ref{image-type}. Accessor: @anchor{fn.entry-secondary-icon-storage-type}@code{entry-secondary-icon-storage-type}. Read-only.
1021 @item @anchor{slot.entry.secondary-icon-tooltip-markup}secondary-icon-tooltip-markup. Type: @code{string}. Accessor: @anchor{fn.entry-secondary-icon-tooltip-markup}@code{entry-secondary-icon-tooltip-markup}.
1022 @item @anchor{slot.entry.secondary-icon-tooltip-text}secondary-icon-tooltip-text. Type: @code{string}. Accessor: @anchor{fn.entry-secondary-icon-tooltip-text}@code{entry-secondary-icon-tooltip-text}.
1023 @item @anchor{slot.entry.selection-bound}selection-bound. Type: @code{integer}. Accessor: @anchor{fn.entry-selection-bound}@code{entry-selection-bound}. Read-only.
1024 @item @anchor{slot.entry.shadow-type}shadow-type. Type: @ref{shadow-type}. Accessor: @anchor{fn.entry-shadow-type}@code{entry-shadow-type}.
1025 @item @anchor{slot.entry.text}text. Type: @code{string}. Accessor: @anchor{fn.entry-text}@code{entry-text}.
1026 @item @anchor{slot.entry.text-length}text-length. Type: @code{integer}. Accessor: @anchor{fn.entry-text-length}@code{entry-text-length}. Read-only.
1027 @item @anchor{slot.entry.truncate-multiline}truncate-multiline. Type: @code{boolean}. Accessor: @anchor{fn.entry-truncate-multiline}@code{entry-truncate-multiline}.
1028 @item @anchor{slot.entry.visibility}visibility. Type: @code{boolean}. Accessor: @anchor{fn.entry-visibility}@code{entry-visibility}.
1029 @item @anchor{slot.entry.width-chars}width-chars. Type: @code{integer}. Accessor: @anchor{fn.entry-width-chars}@code{entry-width-chars}.
1030 @item @anchor{slot.entry.xalign}xalign. Type: @code{single-float}. Accessor: @anchor{fn.entry-xalign}@code{entry-xalign}.
1031 @end itemize
1032
1033
1034 Signals:
1035 @itemize
1036 @item @anchor{signal.entry.activate}"activate". Signature: (instance @ref{entry}) @result{} void. Options: run-last, action.
1037 @item @anchor{signal.entry.backspace}"backspace". Signature: (instance @ref{entry}) @result{} void. Options: run-last, action.
1038 @item @anchor{signal.entry.copy-clipboard}"copy-clipboard". Signature: (instance @ref{entry}) @result{} void. Options: run-last, action.
1039 @item @anchor{signal.entry.cut-clipboard}"cut-clipboard". Signature: (instance @ref{entry}) @result{} void. Options: run-last, action.
1040 @item @anchor{signal.entry.delete-from-cursor}"delete-from-cursor". Signature: (instance @ref{entry}), (arg-1 @ref{delete-type}), (arg-2 @code{integer}) @result{} void. Options: run-last, action.
1041 @item @anchor{signal.entry.icon-press}"icon-press". Signature: (instance @ref{entry}), (arg-1 @code{GtkEntryIconPosition}), (arg-2 @ref{event}) @result{} void. Options: run-last.
1042 @item @anchor{signal.entry.icon-release}"icon-release". Signature: (instance @ref{entry}), (arg-1 @code{GtkEntryIconPosition}), (arg-2 @ref{event}) @result{} void. Options: run-last.
1043 @item @anchor{signal.entry.insert-at-cursor}"insert-at-cursor". Signature: (instance @ref{entry}), (arg-1 @code{string}) @result{} void. Options: run-last, action.
1044 @item @anchor{signal.entry.move-cursor}"move-cursor". Signature: (instance @ref{entry}), (arg-1 @ref{movement-step}), (arg-2 @code{integer}), (arg-3 @code{boolean}) @result{} void. Options: run-last, action.
1045 @item @anchor{signal.entry.paste-clipboard}"paste-clipboard". Signature: (instance @ref{entry}) @result{} void. Options: run-last, action.
1046 @item @anchor{signal.entry.populate-popup}"populate-popup". Signature: (instance @ref{entry}), (arg-1 @ref{menu}) @result{} void. Options: run-last.
1047 @item @anchor{signal.entry.toggle-overwrite}"toggle-overwrite". Signature: (instance @ref{entry}) @result{} void. Options: run-last, action.
1048 @end itemize
1049
1050
1051
1052
1053 @node event-box
1054 @section event-box
1055 @Class event-box
1056 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
1057
1058 Slots:
1059 @itemize
1060 @item @anchor{slot.event-box.above-child}above-child. Type: @code{boolean}. Accessor: @anchor{fn.event-box-above-child}@code{event-box-above-child}.
1061 @item @anchor{slot.event-box.visible-window}visible-window. Type: @code{boolean}. Accessor: @anchor{fn.event-box-visible-window}@code{event-box-visible-window}.
1062 @end itemize
1063
1064
1065 Signals:
1066 @itemize
1067 @end itemize
1068
1069
1070
1071
1072 @node expander
1073 @section expander
1074 @Class expander
1075 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
1076
1077 Slots:
1078 @itemize
1079 @item @anchor{slot.expander.expanded}expanded. Type: @code{boolean}. Accessor: @anchor{fn.expander-expanded}@code{expander-expanded}.
1080 @item @anchor{slot.expander.label}label. Type: @code{string}. Accessor: @anchor{fn.expander-label}@code{expander-label}.
1081 @item @anchor{slot.expander.label-widget}label-widget. Type: @ref{widget}. Accessor: @anchor{fn.expander-label-widget}@code{expander-label-widget}.
1082 @item @anchor{slot.expander.spacing}spacing. Type: @code{integer}. Accessor: @anchor{fn.expander-spacing}@code{expander-spacing}.
1083 @item @anchor{slot.expander.use-markup}use-markup. Type: @code{boolean}. Accessor: @anchor{fn.expander-use-markup}@code{expander-use-markup}.
1084 @item @anchor{slot.expander.use-underline}use-underline. Type: @code{boolean}. Accessor: @anchor{fn.expander-use-underline}@code{expander-use-underline}.
1085 @end itemize
1086
1087
1088 Signals:
1089 @itemize
1090 @item @anchor{signal.expander.activate}"activate". Signature: (instance @ref{expander}) @result{} void. Options: run-last, action.
1091 @end itemize
1092
1093
1094
1095
1096 @node file-chooser-button
1097 @section file-chooser-button
1098 @Class file-chooser-button
1099 Superclass: @ref{h-box} @ref{atk-implementor-iface} @ref{buildable} @ref{file-chooser} @ref{orientable}
1100
1101 Slots:
1102 @itemize
1103 @item @anchor{slot.file-chooser-button.dialog}dialog. Type: @ref{file-chooser}. Accessor: @anchor{fn.file-chooser-button-dialog}@code{file-chooser-button-dialog}. Write-only.
1104 @item @anchor{slot.file-chooser-button.focus-on-click}focus-on-click. Type: @code{boolean}. Accessor: @anchor{fn.file-chooser-button-focus-on-click}@code{file-chooser-button-focus-on-click}.
1105 @item @anchor{slot.file-chooser-button.title}title. Type: @code{string}. Accessor: @anchor{fn.file-chooser-button-title}@code{file-chooser-button-title}.
1106 @item @anchor{slot.file-chooser-button.width-chars}width-chars. Type: @code{integer}. Accessor: @anchor{fn.file-chooser-button-width-chars}@code{file-chooser-button-width-chars}.
1107 @end itemize
1108
1109
1110 Signals:
1111 @itemize
1112 @item @anchor{signal.file-chooser-button.file-set}"file-set". Signature: (instance @ref{file-chooser-button}) @result{} void. Options: run-first.
1113 @end itemize
1114
1115
1116
1117
1118 @node file-chooser-dialog
1119 @section file-chooser-dialog
1120 @Class file-chooser-dialog
1121 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable} @ref{file-chooser}
1122
1123 Slots:
1124 @itemize
1125 @end itemize
1126
1127
1128 Signals:
1129 @itemize
1130 @end itemize
1131
1132
1133
1134
1135 @node file-chooser-widget
1136 @section file-chooser-widget
1137 @Class file-chooser-widget
1138 Superclass: @ref{v-box} @ref{atk-implementor-iface} @ref{buildable} @ref{file-chooser} @ref{file-chooser-embed} @ref{orientable}
1139
1140 Slots:
1141 @itemize
1142 @end itemize
1143
1144
1145 Signals:
1146 @itemize
1147 @end itemize
1148
1149
1150
1151
1152 @node fixed
1153 @section fixed
1154 @Class fixed
1155 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
1156
1157 Slots:
1158 @itemize
1159 @item @anchor{slot.fixed.has-window}has-window. Type: @code{boolean}. Accessor: @anchor{fn.fixed-has-window}@code{fixed-has-window}.
1160 @end itemize
1161
1162
1163 Signals:
1164 @itemize
1165 @end itemize
1166
1167
1168
1169
1170 @node font-button
1171 @section font-button
1172 @Class font-button
1173 Superclass: @ref{button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
1174
1175 Slots:
1176 @itemize
1177 @item @anchor{slot.font-button.font-name}font-name. Type: @code{string}. Accessor: @anchor{fn.font-button-font-name}@code{font-button-font-name}.
1178 @item @anchor{slot.font-button.show-size}show-size. Type: @code{boolean}. Accessor: @anchor{fn.font-button-show-size}@code{font-button-show-size}.
1179 @item @anchor{slot.font-button.show-style}show-style. Type: @code{boolean}. Accessor: @anchor{fn.font-button-show-style}@code{font-button-show-style}.
1180 @item @anchor{slot.font-button.title}title. Type: @code{string}. Accessor: @anchor{fn.font-button-title}@code{font-button-title}.
1181 @item @anchor{slot.font-button.use-font}use-font. Type: @code{boolean}. Accessor: @anchor{fn.font-button-use-font}@code{font-button-use-font}.
1182 @item @anchor{slot.font-button.use-size}use-size. Type: @code{boolean}. Accessor: @anchor{fn.font-button-use-size}@code{font-button-use-size}.
1183 @end itemize
1184
1185
1186 Signals:
1187 @itemize
1188 @item @anchor{signal.font-button.font-set}"font-set". Signature: (instance @ref{font-button}) @result{} void. Options: run-first.
1189 @end itemize
1190
1191
1192
1193
1194 @node font-selection
1195 @section font-selection
1196 @Class font-selection
1197 Superclass: @ref{v-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1198
1199 Slots:
1200 @itemize
1201 @item @anchor{slot.font-selection.font}font. Type: @ref{font}. Accessor: @anchor{fn.font-selection-font}@code{font-selection-font}. Read-only.
1202 @item @anchor{slot.font-selection.font-name}font-name. Type: @code{string}. Accessor: @anchor{fn.font-selection-font-name}@code{font-selection-font-name}.
1203 @item @anchor{slot.font-selection.preview-text}preview-text. Type: @code{string}. Accessor: @anchor{fn.font-selection-preview-text}@code{font-selection-preview-text}.
1204 @end itemize
1205
1206
1207 Signals:
1208 @itemize
1209 @end itemize
1210
1211
1212
1213
1214 @node font-selection-dialog
1215 @section font-selection-dialog
1216 @Class font-selection-dialog
1217 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable}
1218
1219 Slots:
1220 @itemize
1221 @item @anchor{slot.font-selection-dialog.apply-button}apply-button. Type: @ref{g-object}. Accessor: @anchor{fn.font-selection-dialog-apply-button}@code{font-selection-dialog-apply-button}. Read-only.
1222 @item @anchor{slot.font-selection-dialog.cancel-button}cancel-button. Type: @ref{g-object}. Accessor: @anchor{fn.font-selection-dialog-cancel-button}@code{font-selection-dialog-cancel-button}. Read-only.
1223 @item @anchor{slot.font-selection-dialog.font-name}font-name. Type: @code{string}. Accessor: @anchor{fn.font-selection-dialog-font-name}@code{font-selection-dialog-font-name}.
1224 @item @anchor{slot.font-selection-dialog.ok-button}ok-button. Type: @ref{g-object}. Accessor: @anchor{fn.font-selection-dialog-ok-button}@code{font-selection-dialog-ok-button}. Read-only.
1225 @item @anchor{slot.font-selection-dialog.preview-text}preview-text. Type: @code{string}. Accessor: @anchor{fn.font-selection-dialog-preview-text}@code{font-selection-dialog-preview-text}.
1226 @end itemize
1227
1228
1229 Signals:
1230 @itemize
1231 @end itemize
1232
1233
1234
1235
1236 @node frame
1237 @section frame
1238 @Class frame
1239 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
1240
1241 Subclasses: @ref{aspect-frame}
1242
1243 Slots:
1244 @itemize
1245 @item @anchor{slot.frame.label}label. Type: @code{string}. Accessor: @anchor{fn.frame-label}@code{frame-label}.
1246 @item @anchor{slot.frame.label-widget}label-widget. Type: @ref{widget}. Accessor: @anchor{fn.frame-label-widget}@code{frame-label-widget}.
1247 @item @anchor{slot.frame.label-xalign}label-xalign. Type: @code{single-float}. Accessor: @anchor{fn.frame-label-xalign}@code{frame-label-xalign}.
1248 @item @anchor{slot.frame.label-yalign}label-yalign. Type: @code{single-float}. Accessor: @anchor{fn.frame-label-yalign}@code{frame-label-yalign}.
1249 @item @anchor{slot.frame.shadow}shadow. Type: @ref{shadow-type}. Accessor: @anchor{fn.frame-shadow}@code{frame-shadow}.
1250 @item @anchor{slot.frame.shadow-type}shadow-type. Type: @ref{shadow-type}. Accessor: @anchor{fn.frame-shadow-type}@code{frame-shadow-type}.
1251 @end itemize
1252
1253
1254 Signals:
1255 @itemize
1256 @end itemize
1257
1258
1259
1260
1261 @node gamma-curve
1262 @section gamma-curve
1263 @Class gamma-curve
1264 Superclass: @ref{v-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1265
1266 Slots:
1267 @itemize
1268 @end itemize
1269
1270
1271 Signals:
1272 @itemize
1273 @end itemize
1274
1275
1276
1277
1278 @node gtk-window
1279 @section gtk-window
1280 @Class gtk-window
1281 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
1282
1283 Subclasses: @ref{plug} @ref{assistant} @ref{dialog}
1284
1285 @ref{gtk-window} is a toplevel window that can contain other widgets. Nearly always, the type of the window should be @EnumVRef{window-type,toplevel}. If you're implementing something like a popup menu from scratch (which is a bad idea, just use @ref{menu}), you might use @EnumVRef{window-type,popup}. @EnumVRef{window-type,popup} is not for dialogs, though in some other toolkits dialogs are called "popups". In GTK+, @EnumVRef{window-type,popup} means a pop-up menu or pop-up tooltip. On X11, popup windows are not controlled by the window manager.
1286
1287 If you simply want an undecorated window (no window borders), use @SlotRef{gtk-window,decorated}, don't use @EnumVRef{window-type,popup}.
1288
1289 Slots:
1290 @itemize
1291 @item @anchor{slot.gtk-window.accept-focus}accept-focus. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-accept-focus}@code{gtk-window-accept-focus}.
1292
1293 Windows may set a hint asking the desktop environment not to receive the input focus. True if the window should receive the input focus.
1294
1295 Default value: True
1296 @item @anchor{slot.gtk-window.allow-grow}allow-grow. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-allow-grow}@code{gtk-window-allow-grow}.
1297
1298 If True, users can expand the window beyond its minimum size.
1299
1300 Default value: True
1301 @item @anchor{slot.gtk-window.allow-shrink}allow-shrink. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-allow-shrink}@code{gtk-window-allow-shrink}.
1302
1303 If True, the window has no mimimum size. Setting this to True is 99% of the time a bad idea.
1304
1305 Default value: False
1306 @item @anchor{slot.gtk-window.decorated}decorated. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-decorated}@code{gtk-window-decorated}.
1307
1308 Whether the window should be decorated by the window manager.
1309
1310 By default, windows are decorated with a title bar, resize controls, etc. Some window managers allow GTK+ to disable these decorations, creating a borderless window. If you set the decorated property to False using this function, GTK+ will do its best to convince the window manager not to decorate the window. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling @ref{widget-show}.
1311
1312 On Windows, this always works, since there's no window manager policy involved.
1313
1314 Default value: True
1315
1316 @item @anchor{slot.gtk-window.default-height}default-height. Type: @code{integer}. Accessor: @anchor{fn.gtk-window-default-height}@code{gtk-window-default-height}.
1317
1318 The default height of the window, used when initially showing the window.
1319
1320 If the window's "natural" size (its size request) is larger than the default, the default will be ignored. More generally, if the default size does not obey the geometry hints for the window (@ref{window-set-geometry-hints} can be used to set these explicitly), the default size will be clamped to the nearest permitted size.
1321
1322 Unlike @SlotRef{widget,width-request} and @SlotRef{widget,height-request}, that set a size request for a widget and thus would keep users from shrinking the window, this function only sets the initial size, just as if the user had resized the window themselves. Users can still shrink the window again as they normally would. Setting a default size of -1 means to use the "natural" default size (the size request of the window).
1323
1324 For more control over a window's initial size and how resizing works, see @ref{window-set-geometry-hints}.
1325
1326 For some uses, @ref{window-resize} is a more appropriate function. @ref{window-resize} changes the current size of the window, rather than the size to be used on initial display. @ref{window-resize} always affects the window itself, not the geometry widget.
1327
1328 The default size of a window only affects the first time a window is shown; if a window is hidden and re-shown, it will remember the size it had prior to hiding, rather than using the default size.
1329
1330 Windows can't actually be 0x0 in size, they must be at least 1x1, but passing 0 for width and height is OK, resulting in a 1x1 default size.
1331
1332 Default value: -1
1333 @item @anchor{slot.gtk-window.default-widget}default-widget. Type: @ref{widget}. Accessor: @anchor{fn.gtk-window-default-widget}@code{gtk-window-default-widget}.
1334
1335 The default widget is the widget that's activated when the user presses Enter in a dialog (for example). When setting (rather than unsetting) the default widget it's generally easier to call gtk_widget_grab_focus() on the widget. Before making a widget the default widget, you must set the @SlotRef{widget,can-default} on the widget you'd like to make the default.
1336 @item @anchor{slot.gtk-window.default-width}default-width. Type: @code{integer}. Accessor: @anchor{fn.gtk-window-default-width}@code{gtk-window-default-width}.
1337
1338 The default width of the window, used when initially showing the window.
1339
1340 See @SlotRef{gtk-window,default-height} for explanation.
1341
1342 Default value: -1
1343 @item @anchor{slot.gtk-window.deletable}deletable. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-deletable}@code{gtk-window-deletable}.
1344
1345 Whether the window frame should have a close button.
1346
1347 By default, windows have a close button in the window frame. Some window managers allow GTK+ to disable this button. If you set the deletable property to False using this function, GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling @ref{widget-show}.
1348
1349 On Windows, this always works, since there's no window manager policy involved.
1350
1351 Default value: True
1352 @item @anchor{slot.gtk-window.destroy-with-parent}destroy-with-parent. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-destroy-with-parent}@code{gtk-window-destroy-with-parent}.
1353
1354 If this window should be destroyed when the parent is destroyed.
1355
1356 Default value: False
1357 @item @anchor{slot.gtk-window.focus}focus. Type: @ref{widget}. Accessor: @anchor{fn.gtk-window-focus}@code{gtk-window-focus}.
1358
1359 The current focused widget within the window. Note that this is the widget that would have the focus if the toplevel window focused; if the toplevel window is not focused then @SlotRef{gtk-window,focus} will not be True for the widget.
1360
1361 Settings this works the following way. If focus is not the current focus widget, and is focusable, sets it as the focus widget for the window. If focus is NIL, unsets the focus widget for this window. To set the focus to a particular widget in the toplevel, it is usually more convenient to use @ref{widget-grab-focus} instead of this function.
1362
1363 @item @anchor{slot.gtk-window.focus-on-map}focus-on-map. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-focus-on-map}@code{gtk-window-focus-on-map}.
1364
1365 Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped.  True if the window should receive the input focus when mapped.
1366
1367 Default value: True
1368 @item @anchor{slot.gtk-window.gravity}gravity. Type: @ref{gravity}. Accessor: @anchor{fn.gtk-window-gravity}@code{gtk-window-gravity}.
1369
1370 The window gravity of the window. See @ref{window-move} and @ref{gravity} for more details about window gravity.
1371
1372 Default value: @EnumVRef{anchor-type,north-west}
1373 @item @anchor{slot.gtk-window.has-toplevel-focus}has-toplevel-focus. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-has-toplevel-focus}@code{gtk-window-has-toplevel-focus}. Read-only.
1374
1375 Whether the input focus is within this GtkWindow.
1376
1377 Default value: False
1378 @item @anchor{slot.gtk-window.icon}icon. Type: @ref{pixbuf}. Accessor: @anchor{fn.gtk-window-icon}@code{gtk-window-icon}.
1379
1380 This icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts.
1381
1382 The icon should be provided in whatever size it was naturally drawn; that is, don't scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
1383
1384 Icon for this window.
1385 @item @anchor{slot.gtk-window.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.gtk-window-icon-name}@code{gtk-window-icon-name}.
1386
1387 The icon-name property specifies the name of the themed icon to use as the window icon. See @ref{icon-theme} for more details.
1388
1389 Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM.
1390
1391 Default value: NIL
1392 @item @anchor{slot.gtk-window.is-active}is-active. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-is-active}@code{gtk-window-is-active}. Read-only.
1393
1394 Whether the toplevel is the current active window.
1395
1396 Default value: False
1397 @item @anchor{slot.gtk-window.modal}modal. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-modal}@code{gtk-window-modal}.
1398
1399 If True, the window is modal (other windows are not usable while this one is up).
1400
1401 Default value: False
1402 @item @anchor{slot.gtk-window.opacity}opacity. Type: @code{double-float}. Accessor: @anchor{fn.gtk-window-opacity}@code{gtk-window-opacity}.
1403
1404 The requested opacity of the window.
1405
1406 Setting opacity requests the windowing system to make window partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Values of the opacity parameter are clamped to the [0,1] range.) On X11 this has any effect only on X screens with a compositing manager running. See @SlotRef{screen,composited-p}. On Windows it should work always.
1407
1408 Note that setting a window's opacity after the window has been shown causes it to flicker once on Windows.
1409
1410 Allowed values: [0,1]
1411
1412 Default value: 1
1413 @item @anchor{slot.gtk-window.resizable}resizable. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-resizable}@code{gtk-window-resizable}.
1414
1415 If True, users can resize the window.
1416
1417 Default value: True
1418 @item @anchor{slot.gtk-window.role}role. Type: @code{string}. Accessor: @anchor{fn.gtk-window-role}@code{gtk-window-role}.
1419
1420 Unique identifier for the window to be used when restoring a session.
1421
1422 This is only useful on X11, not with other GTK+ targets.
1423
1424 In combination with the window title, the window role allows a window manager to identify "the same" window when an application is restarted. So for example you might set the "toolbox" role on your app's toolbox window, so that when the user restarts their session, the window manager can put the toolbox back in the same place.
1425
1426 If a window already has a unique title, you don't need to set the role, since the WM can use the title to identify the window when restoring the session.
1427
1428 Default value: NIL
1429 @item @anchor{slot.gtk-window.screen}screen. Type: @ref{screen}. Accessor: @anchor{fn.gtk-window-screen}@code{gtk-window-screen}.
1430
1431 The screen where this window will be displayed.
1432 @item @anchor{slot.gtk-window.skip-pager-hint}skip-pager-hint. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-skip-pager-hint}@code{gtk-window-skip-pager-hint}.
1433
1434 Windows may set a hint asking the desktop environment not to display the window in the pager. (A "pager" is any desktop navigation tool such as a workspace switcher that displays a thumbnail representation of the windows on the screen.) True if the window should not be in the pager.
1435
1436 Default value: False
1437 @item @anchor{slot.gtk-window.skip-taskbar-hint}skip-taskbar-hint. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-skip-taskbar-hint}@code{gtk-window-skip-taskbar-hint}.
1438
1439 Windows may set a hint asking the desktop environment not to display the window in the task bar. True if the window should not be in the task bar.
1440
1441 Default value: False
1442 @item @anchor{slot.gtk-window.startup-id}startup-id. Type: @code{string}. Accessor: @anchor{fn.gtk-window-startup-id}@code{gtk-window-startup-id}. Write-only.
1443
1444 The startup-id is a write-only property for setting window's startup notification identifier.
1445
1446 Startup notification identifiers are used by desktop environment to track application startup, to provide user feedback and other features. This function changes the corresponding property on the underlying @ref{gdk-window}. Normally, startup identifier is managed automatically and you should only use this function in special cases like transferring focus from other processes. You should set this before calling @ref{window-present} or any equivalent function generating a window map event.
1447
1448 This is only useful on X11, not with other GTK+ targets.
1449
1450 Default value: NIL
1451 @item @anchor{slot.gtk-window.title}title. Type: @code{string}. Accessor: @anchor{fn.gtk-window-title}@code{gtk-window-title}.
1452
1453 The title of the window.
1454
1455 Default value: NIL
1456 @item @anchor{slot.gtk-window.transient-for}transient-for. Type: @ref{gtk-window}. Accessor: @anchor{fn.gtk-window-transient-for}@code{gtk-window-transient-for}.
1457
1458 The transient parent of the window.
1459
1460 Dialog windows should be set transient for the main application window they were spawned from. This allows window managers to e.g. keep the dialog on top of the main window, or center the dialog over the main window.
1461
1462 On Windows, this puts the child window on top of the parent, much as the window manager would have done on X.
1463 @item @anchor{slot.gtk-window.type}type. Type: @ref{window-type}. Accessor: @anchor{fn.gtk-window-type}@code{gtk-window-type}.
1464
1465 The type of the window.
1466
1467 Default value: @EnumVRef{window-type,toplevel}
1468 @item @anchor{slot.gtk-window.type-hint}type-hint. Type: @ref{gdk-window-type-hint}. Accessor: @anchor{fn.gtk-window-type-hint}@code{gtk-window-type-hint}.
1469
1470 Hint to help the desktop environment understand what kind of window this is and how to treat it.
1471
1472 This should be set before the window becomes visible.
1473
1474 Default value: @EnumVRef{gdk-window-type-hint,normal}
1475 @item @anchor{slot.gtk-window.urgency-hint}urgency-hint. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-urgency-hint}@code{gtk-window-urgency-hint}.
1476
1477 Windows may set a hint asking the desktop environment to draw the users attention to the window. True if the window should be brought to the user's attention.
1478
1479 Default value: False
1480 @item @anchor{slot.gtk-window.window-position}window-position. Type: @ref{window-position}. Accessor: @anchor{fn.gtk-window-window-position}@code{gtk-window-window-position}.
1481
1482 The initial position of the window.
1483
1484 Default value: @EnumVRef{window-position,none}
1485 @end itemize
1486
1487
1488 Signals:
1489 @itemize
1490 @item @anchor{signal.gtk-window.activate-default}"activate-default". Signature: (instance @ref{gtk-window}) @result{} void. Options: run-last, action.
1491
1492 The activate-default signal is a keybinding signal which gets emitted when the user activates the default widget of window.
1493 @item @anchor{signal.gtk-window.activate-focus}"activate-focus". Signature: (instance @ref{gtk-window}) @result{} void. Options: run-last, action.
1494
1495 The activate-default signal is a keybinding signal which gets emitted when the user activates the currently focused widget of window.
1496 @item @anchor{signal.gtk-window.frame-event}"frame-event". Signature: (instance @ref{gtk-window}), (event @ref{event}) @result{} @code{boolean}. Options: run-last.
1497
1498
1499 @item @anchor{signal.gtk-window.keys-changed}"keys-changed". Signature: (instance @ref{gtk-window}) @result{} void. Options: run-first.
1500
1501 The keys-changed signal gets emitted when the set of accelerators or mnemonics that are associated with window changes.
1502 @item @anchor{signal.gtk-window.set-focus}"set-focus". Signature: (instance @ref{gtk-window}), (widget @ref{widget}) @result{} void. Options: run-last.
1503 @end itemize
1504
1505 @RMethod window-add-accel-group
1506 @lisp
1507 (window-add-accel-group window accel-group)
1508 @end lisp
1509
1510 Associate @var{accel-group} (an @ref{accel-group}) with @var{window} (an @ref{gtk-window}).
1511
1512 @RMethod window-remove-accel-group
1513 @lisp
1514 (window-remove-accel-group window accel-group)
1515 @end lisp
1516
1517 Reverses the effect of @ref{window-add-accel-group}.
1518
1519 @RMethod window-activate-focus
1520 @lisp
1521 (window-activate-focus window)
1522 @end lisp
1523
1524 Activates the current focused widget within the @var{window} (an @ref{gtk-window}).
1525
1526 @RMethod window-activate-default
1527 @lisp
1528 (window-activate-default window) @result{} activated-p
1529 @end lisp
1530
1531 Activates the default widget for the @var{window} (an @ref{gtk-window}), unless the current focused widget has been configured to receive the default action (see @SlotRef{widget,receives-default}), in which case the focused widget is activated.
1532
1533 Returns True if a widget got activated.
1534
1535 @RMethod window-set-geometry-hints
1536 @lisp
1537 (window-set-geometry-hints window geometry-widget geometry geometry-mask)
1538 @end lisp
1539
1540 This function sets up hints about how a @var{window} (an @ref{gtk-window}) can be resized by the user. You can set a minimum and maximum size; allowed resize increments (e.g. for xterm, you can only resize by the size of a character); aspect ratios; and more. See the @ref{geometry} struct.
1541
1542 @var{geometry-widget}: a @ref{widget} - widget the geometry hints will be applied to
1543
1544 @var{geometry}: a @ref{geometry} - struct containing geometry information
1545
1546 @var{geometry-mask}: a @ref{window-hints} - mask indicating which struct fields should be paid attention to
1547
1548 @Function window-list-toplevels
1549 @lisp
1550 (window-list-toplevels) @result{} windows
1551 @end lisp
1552
1553 Returns a list of all existing toplevel windows. The widgets in the list are not individually referenced.
1554
1555 @var{windows}: fresh list of @ref{gtk-window}
1556
1557 @RMethod window-add-mnemonic
1558 @lisp
1559 (window-add-mnemonic window keyval target)
1560 @end lisp
1561
1562 Adds a mnemonic to this @var{window} (a @ref{gtk-window}).
1563
1564 @var{keyval}: mnemonic keyval
1565
1566 @var{target}: the @ref{widget} that gets activated by the mnemonic
1567
1568 @RMethod window-remove-mnemonic
1569 @lisp
1570 (window-remove-mnemonic window keyval target)
1571 @end lisp
1572
1573 Removes a mnemonic from this @var{window} (a @ref{gtk-window}).
1574
1575 @var{keyval}: mnemonic keyval
1576
1577 @var{target}: the @ref{widget} that gets activated by the mnemonic
1578
1579 @RMethod window-mnemonic-activate
1580 @lisp
1581 (window-mnemonic-activate window keyval modifier)
1582 @end lisp
1583
1584 Activates the targets associated with the mnemonic.
1585
1586 @var{keyval}: mnemonic keyval
1587
1588 @var{modifier}: a @ref{modifier-type} - modifiers
1589
1590 @RMethod window-activate-key
1591 @lisp
1592 (window-activate-key window event) @result{} activated-p
1593 @end lisp
1594
1595 Activates mnemonics and accelerators for this @ref{gtk-window}. This is normally called by the default @SignalRef{widget,key-press-event} handler for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window.
1596
1597 Returns True if a mnemonic or accelerator was found and activated.
1598
1599 @var{event}: a @ref{event-key}
1600
1601 @RMethod window-propagate-key-event
1602 @lisp
1603 (window-propagate-key-event window event) @result{} handled-p
1604 @end lisp
1605
1606 Propagate a key press or release event to the focus widget and up the focus container chain until a widget handles @var{event}. This is normally called by the default @SignalRef{widget,key-press-event} and @SignalRef{widget,key-release-event} handlers for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window.
1607
1608 Returns True if a widget in the focus chain handled the event.
1609
1610 @var{event}: a @ref{event-key}
1611
1612 @RMethod window-present
1613 @lisp
1614 (window-present window)
1615 @end lisp
1616
1617 Presents a @var{window} (a @ref{gtk-window}) to the user. This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences.
1618
1619 If window is hidden, this function calls @ref{widget-show} as well.
1620
1621 This function should be used when the user tries to open a window that's already open. Say for example the preferences dialog is currently open, and the user chooses Preferences from the menu a second time; use @ref{window-present} to move the already-open dialog where the user can see it.
1622
1623 If you are calling this function in response to a user interaction, it is preferable to use @ref{window-present-with-time}.
1624
1625 @RMethod window-present-with-time
1626 @lisp
1627 (window-present-with-time window timestamp)
1628 @end lisp
1629
1630 Presents a @var{window} (a @ref{gtk-window}) to the user in response to a user interaction. If you need to present a window without a timestamp, use @ref{window-present}. See @ref{window-present} for details.
1631
1632 @var{timestamp}: the timestamp of the user interaction (typically a button or key press event) which triggered this call
1633
1634 @RMethod window-iconify
1635 @lisp
1636 (window-iconify window)
1637 @end lisp
1638
1639 Asks to iconify (i.e. minimize) the specified @var{window} (a @ref{gtk-window}). Note that you shouldn't assume the window is definitely iconified afterward, because other entities (e.g. the user or window manager) could deiconify it again, or there may not be a window manager in which case iconification isn't possible, etc. But normally the window will end up iconified. Just don't write code that crashes if not.
1640
1641 It's permitted to call this function before showing a window, in which case the window will be iconified before it ever appears onscreen.
1642
1643 You can track iconification via the @SignalRef{widget,window-state-event} signal on GtkWidget.
1644
1645 @RMethod window-deiconify
1646 @lisp
1647 (window-deiconify window)
1648 @end lisp
1649
1650 Asks to deiconify (i.e. unminimize) the specified window. Note that you shouldn't assume the window is definitely deiconified afterward, because other entities (e.g. the user or window manager) could iconify it again before your code which assumes deiconification gets to run.
1651
1652 You can track iconification via the @SignalRef{widget,window-state-event}.
1653
1654 @RMethod window-stick
1655 @lisp
1656 (window-stick window)
1657 @end lisp
1658 Asks to stick @var{window} (a @ref{gtk-window}), which means that it will appear on all user desktops. Note that you shouldn't assume the window is definitely stuck afterward, because other entities (e.g. the user or window manager) could unstick it again, and some window managers do not support sticking windows. But normally the window will end up stuck. Just don't write code that crashes if not.
1659
1660 It's permitted to call this function before showing a window.
1661
1662 You can track stickiness via the @SignalRef{widget,window-state-event} signal.
1663
1664 @RMethod window-unstick
1665 @lisp
1666 (window-unstick window)
1667 @end lisp
1668 Asks to unstick @var{window} (a @ref{gtk-window}), which means that it will appear on only one of the user's desktops. Note that you shouldn't assume the window is definitely unstuck afterward, because other entities (e.g. the user or window manager) could stick it again. But normally the window will end up stuck. Just don't write code that crashes if not.
1669
1670 You can track stickiness via the @SignalRef{widget,window-state-event} signal.
1671
1672 @RMethod window-maximize
1673 @lisp
1674 (window-maximize window)
1675 @end lisp
1676
1677 Asks to maximize @var{window} (a @ref{gtk-window}), so that it becomes full-screen. Note that you shouldn't assume the window is definitely maximized afterward, because other entities (e.g. the user or window manager) could unmaximize it again, and not all window managers support maximization. But normally the window will end up maximized. Just don't write code that crashes if not.
1678
1679 It's permitted to call this function before showing a window, in which case the window will be maximized when it appears onscreen initially.
1680
1681 You can track maximization via the @SignalRef{widget,window-state-event} signal.
1682
1683 @RMethod window-unmaximize
1684 @lisp
1685 (window-unmaximize window)
1686 @end lisp
1687
1688 Asks to unmaximize @var{window} (a @ref{gtk-window}). Note that you shouldn't assume the window is definitely unmaximized afterward, because other entities (e.g. the user or window manager) could maximize it again, and not all window managers honor requests to unmaximize. But normally the window will end up unmaximized. Just don't write code that crashes if not.
1689
1690 You can track maximization via the @SignalRef{widget,window-state-event} signal on GtkWidget.
1691
1692 @RMethod window-fullscreen
1693 @lisp
1694 (window-fullscreen window)
1695 @end lisp
1696
1697 Asks to place @var{window} (a @ref{gtk-window}) in the fullscreen state. Note that you shouldn't assume the window is definitely full screen afterward, because other entities (e.g. the user or window manager) could unfullscreen it again, and not all window managers honor requests to fullscreen windows. But normally the window will end up fullscreen. Just don't write code that crashes if not.
1698
1699 You can track the fullscreen state via the @SignalRef{widget,window-state-event} signal.
1700
1701 @RMethod window-unfullscreen
1702 @lisp
1703 (window-unfullscreen window)
1704 @end lisp
1705
1706 Asks to toggle off the fullscreen state for @var{window} (a @ref{gtk-window}). Note that you shouldn't assume the window is definitely not full screen afterward, because other entities (e.g. the user or window manager) could fullscreen it again, and not all window managers honor requests to unfullscreen windows. But normally the window will end up restored to its normal state. Just don't write code that crashes if not.
1707
1708 You can track the fullscreen state via the @SignalRef{widget,window-state-event} signal.
1709
1710 @RMethod window-set-keep-above
1711 @lisp
1712 (window-set-keep-above window setting)
1713 @end lisp
1714
1715 Asks to keep @var{window} (a @ref{gtk-window}) above, so that it stays on top. Note that you shouldn't assume the window is definitely above afterward, because other entities (e.g. the user or window manager) could not keep it above, and not all window managers support keeping windows above. But normally the window will end kept above. Just don't write code that crashes if not.
1716
1717 It's permitted to call this function before showing a window, in which case the window will be kept above when it appears onscreen initially.
1718
1719 You can track the above state via the @SignalRef{widget,window-state-event} signal.
1720
1721 Note that, according to the Extended Window Manager Hints specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs.
1722
1723 @var{setting}: a boolean; whether to keep @var{window} above other windows
1724
1725 @RMethod window-set-keep-below
1726 @lisp
1727 (window-set-keep-below window setting)
1728 @end lisp
1729 Asks to keep window below, so that it stays in bottom. Note that you shouldn't assume the window is definitely below afterward, because other entities (e.g. the user or window manager) could not keep it below, and not all window managers support putting windows below. But normally the window will be kept below. Just don't write code that crashes if not.
1730
1731 It's permitted to call this function before showing a window, in which case the window will be kept below when it appears onscreen initially.
1732
1733 You can track the below state via the "window-state-event" signal on GtkWidget.
1734
1735 Note that, according to the Extended Window Manager Hints specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs.
1736
1737 @var{setting}: a boolean; whether to keep window below other windows
1738
1739 @RMethod window-begin-resize-drag
1740 @lisp
1741 (window-begin-resize-drag window edge button root-x root-y timestamp)
1742 @end lisp
1743
1744 Starts resizing a @var{window} (a @ref{gtk-window}). This function is used if an application has window resizing controls. When GDK can support it, the resize will be done using the standard mechanism for the window manager or windowing system. Otherwise, GDK will try to emulate window resizing, potentially not all that well, depending on the windowing system.
1745
1746 @var{edge}: a @ref{window-edge}; position of the resize control
1747
1748 @var{button}: an integer; mouse button that initiated the drag
1749
1750 @var{root-x}: an integer; X position where the user clicked to initiate the drag, in root window coordinates
1751
1752 @var{root-y}: an integer; Y position where the user clicked to initiate the drag
1753
1754 @var{timestamp}: timestamp from the click event that initiated the drag
1755
1756 @RMethod window-begin-move-drag
1757 @lisp
1758 (window-begin-move-drag window button root-x root-y timestamp)
1759 @end lisp
1760
1761 Starts moving a window. This function is used if an application has window movement grips. When GDK can support it, the window movement will be done using the standard mechanism for the window manager or windowing system. Otherwise, GDK will try to emulate window movement, potentially not all that well, depending on the windowing system.
1762
1763 @var{edge}: a @ref{window-edge}; position of the resize control
1764
1765 @var{button}: an integer; mouse button that initiated the drag
1766
1767 @var{root-x}: an integer; X position where the user clicked to initiate the drag, in root window coordinates
1768
1769 @var{root-y}: an integer; Y position where the user clicked to initiate the drag
1770
1771 @var{timestamp}: timestamp from the click event that initiated the drag
1772
1773 @RMethod window-set-frame-dimensions
1774 @lisp
1775 (window-set-frame-dimensions window left top right bottom)
1776 @end lisp
1777
1778 (Note: this is a special-purpose function intended for the framebuffer port; see @ref{window-set-has-frame}. It will have no effect on the window border drawn by the window manager, which is the normal case when using the X Window system.)
1779
1780 For windows with frames this function can be used to change the size of the frame border.
1781
1782 @var{window}: a @ref{gtk-window}
1783
1784 @var{left}, @var{top}, @var{right}, @var{bottom} - integers; sizes of left, top, right, bottom borders
1785
1786 @RMethod window-set-has-frame
1787 @lisp
1788 (window-set-has-frame window setting)
1789 @end lisp
1790
1791 (Note: this is a special-purpose function for the framebuffer port, that causes GTK+ to draw its own window border. For most applications, you want @SlotRef{gtk-window,decorated} instead, which tells the window manager whether to draw the window border.)
1792
1793 If this function is called on a @var{window} (a @ref{gtk-window}) with setting of True, before it is realized or showed, it will have a "frame" window around window->window, accessible in window->frame. Using the signal @SignalRef{gtk-window,frame-event} you can receive all events targeted at the frame.
1794
1795 This function is used by the linux-fb port to implement managed windows, but it could conceivably be used by X-programs that want to do their own window decorations.
1796
1797 @var{setting}: a boolean
1798
1799 @RMethod window-set-mnemonic-modifier
1800 @lisp
1801 (window-set-mnemonic-modifier window modifier)
1802 @end lisp
1803
1804 Sets the mnemonic @var{modifier} (a @ref{modifier-type}) for this @var{window} (a @ref{gtk-window}).
1805
1806 @Function window-default-icon-list
1807 @lisp
1808 (setf (window-default-icon-list) icons)
1809 @end lisp
1810
1811 Sets an icon list to be used as fallback for windows that haven't had @code{gtk_window_set_icon_list} set on them to set up a window-specific icon list. This function allows you to set up the icon for all windows in your app at once.
1812
1813 @var{icons}: a list of @ref{pixbuf}s.
1814
1815 @Function window-default-icon
1816 @lisp
1817 (setf (window-default-icon) icon)
1818 @end lisp
1819
1820 Sets an @var{icon} (a @ref{pixbuf}) to be used as fallback for windows that haven't had @SlotRef{gtk-window,icon} set on them from a pixbuf.
1821
1822 @Function window-default-icon-name
1823 @lisp
1824 (setf (window-default-icon-name) name)
1825 @end lisp
1826
1827 Sets an icon (a @code{string} - the name of the themed icon) to be used as fallback for windows.
1828
1829 @RMethod window-move
1830 @lisp
1831 (window-move window x y)
1832 @end lisp
1833
1834 Asks the window manager to move @var{window} (a @ref{gtk-window}) to the given position (defined by integers @var{x}, @var{y}). Window managers are free to ignore this; most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown.
1835
1836 Note: the position is the position of the gravity-determined reference point for the window. The gravity determines two things: first, the location of the reference point in root window coordinates; and second, which point on the window is positioned at the reference point.
1837
1838 By default the gravity is @EnumVRef{gravity,north-west}, so the reference point is simply the x, y supplied. The top-left corner of the window decorations (aka window frame or border) will be placed at x, y. Therefore, to position a window at the top left of the screen, you want to use the default gravity (which is @EnumVRef{gravity,north-west}) and move the window to 0,0.
1839
1840 To position a window at the bottom right corner of the screen, you would set @EnumVRef{gravity,south-east}, which means that the reference point is at x + the window width and y + the window height, and the bottom-right corner of the window border will be placed at that reference point. So, to place a window in the bottom right corner you would first set gravity to south east, then write: gtk_window_move (window, gdk_screen_width() - window_width, gdk_screen_height() - window_height) (note that this example does not take multi-head scenarios into account).
1841
1842 The Extended Window Manager Hints specification at http://www.freedesktop.org/Standards/wm-spec has a nice table of gravities in the "implementation notes" section.
1843
1844 @RMethod window-resize
1845 @lisp
1846 (window-resize window width height)
1847 @end lisp
1848
1849 Resizes the @var{window} (a @ref{gtk-window}) to @var{width} pixels by @var{height} pixels as if the user had done so, obeying geometry constraints. The default geometry constraint is that windows may not be smaller than their size request (see @SlotRef{widget,width-request}, @SlotRef{widget,height-request}).
1850
1851 If @ref{window-resize} is called before showing a window for the first time, it overrides any default size set with @SlotRef{gtk-window,default-width}, @SlotRef{gtk-window,default-height}.
1852
1853 Windows may not be resized smaller than 1 by 1 pixels.
1854
1855 @node h-box
1856 @section h-box
1857 @Class h-box
1858 Superclass: @ref{box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1859
1860 Subclasses: @ref{statusbar} @ref{file-chooser-button}
1861
1862 Slots:
1863 @itemize
1864 @end itemize
1865
1866
1867 Signals:
1868 @itemize
1869 @end itemize
1870
1871
1872
1873
1874 @node h-button-box
1875 @section h-button-box
1876 @Class h-button-box
1877 Superclass: @ref{button-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1878
1879 Slots:
1880 @itemize
1881 @end itemize
1882
1883
1884 Signals:
1885 @itemize
1886 @end itemize
1887
1888
1889
1890
1891 @node h-paned
1892 @section h-paned
1893 @Class h-paned
1894 Superclass: @ref{paned} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1895
1896 Slots:
1897 @itemize
1898 @end itemize
1899
1900
1901 Signals:
1902 @itemize
1903 @end itemize
1904
1905
1906
1907
1908 @node h-ruler
1909 @section h-ruler
1910 @Class h-ruler
1911 Superclass: @ref{ruler} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1912
1913 Slots:
1914 @itemize
1915 @end itemize
1916
1917
1918 Signals:
1919 @itemize
1920 @end itemize
1921
1922
1923
1924
1925 @node h-s-v
1926 @section h-s-v
1927 @Class h-s-v
1928 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
1929
1930 Slots:
1931 @itemize
1932 @end itemize
1933
1934
1935 Signals:
1936 @itemize
1937 @item @anchor{signal.h-s-v.changed}"changed". Signature: (instance @ref{h-s-v}) @result{} void. Options: run-first.
1938 @item @anchor{signal.h-s-v.move}"move". Signature: (instance @ref{h-s-v}), (arg-1 @ref{direction-type}) @result{} void. Options: run-last, action.
1939 @end itemize
1940
1941
1942
1943
1944 @node h-scale
1945 @section h-scale
1946 @Class h-scale
1947 Superclass: @ref{scale} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1948
1949 Slots:
1950 @itemize
1951 @end itemize
1952
1953
1954 Signals:
1955 @itemize
1956 @end itemize
1957
1958
1959
1960
1961 @node h-scrollbar
1962 @section h-scrollbar
1963 @Class h-scrollbar
1964 Superclass: @ref{scrollbar} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1965
1966 Slots:
1967 @itemize
1968 @end itemize
1969
1970
1971 Signals:
1972 @itemize
1973 @end itemize
1974
1975
1976
1977
1978 @node h-separator
1979 @section h-separator
1980 @Class h-separator
1981 Superclass: @ref{separator} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
1982
1983 Slots:
1984 @itemize
1985 @end itemize
1986
1987
1988 Signals:
1989 @itemize
1990 @end itemize
1991
1992
1993
1994
1995 @node handle-box
1996 @section handle-box
1997 @Class handle-box
1998 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
1999
2000 Slots:
2001 @itemize
2002 @item @anchor{slot.handle-box.child-detached}child-detached. Type: @code{boolean}. Accessor: @anchor{fn.handle-box-child-detached}@code{handle-box-child-detached}. Read-only.
2003 @item @anchor{slot.handle-box.handle-position}handle-position. Type: @ref{position-type}. Accessor: @anchor{fn.handle-box-handle-position}@code{handle-box-handle-position}.
2004 @item @anchor{slot.handle-box.shadow}shadow. Type: @ref{shadow-type}. Accessor: @anchor{fn.handle-box-shadow}@code{handle-box-shadow}.
2005 @item @anchor{slot.handle-box.shadow-type}shadow-type. Type: @ref{shadow-type}. Accessor: @anchor{fn.handle-box-shadow-type}@code{handle-box-shadow-type}.
2006 @item @anchor{slot.handle-box.snap-edge}snap-edge. Type: @ref{position-type}. Accessor: @anchor{fn.handle-box-snap-edge}@code{handle-box-snap-edge}.
2007 @item @anchor{slot.handle-box.snap-edge-set}snap-edge-set. Type: @code{boolean}. Accessor: @anchor{fn.handle-box-snap-edge-set}@code{handle-box-snap-edge-set}.
2008 @end itemize
2009
2010
2011 Signals:
2012 @itemize
2013 @item @anchor{signal.handle-box.child-attached}"child-attached". Signature: (instance @ref{handle-box}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
2014 @item @anchor{signal.handle-box.child-detached}"child-detached". Signature: (instance @ref{handle-box}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
2015 @end itemize
2016
2017
2018
2019
2020 @node icon-view
2021 @section icon-view
2022 @Class icon-view
2023 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable} @ref{cell-layout}
2024
2025 Slots:
2026 @itemize
2027 @item @anchor{slot.icon-view.column-spacing}column-spacing. Type: @code{integer}. Accessor: @anchor{fn.icon-view-column-spacing}@code{icon-view-column-spacing}.
2028 @item @anchor{slot.icon-view.columns}columns. Type: @code{integer}. Accessor: @anchor{fn.icon-view-columns}@code{icon-view-columns}.
2029 @item @anchor{slot.icon-view.item-width}item-width. Type: @code{integer}. Accessor: @anchor{fn.icon-view-item-width}@code{icon-view-item-width}.
2030 @item @anchor{slot.icon-view.margin}margin. Type: @code{integer}. Accessor: @anchor{fn.icon-view-margin}@code{icon-view-margin}.
2031 @item @anchor{slot.icon-view.markup-column}markup-column. Type: @code{integer}. Accessor: @anchor{fn.icon-view-markup-column}@code{icon-view-markup-column}.
2032 @item @anchor{slot.icon-view.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.icon-view-model}@code{icon-view-model}.
2033 @item @anchor{slot.icon-view.orientation}orientation. Type: @ref{orientation}. Accessor: @anchor{fn.icon-view-orientation}@code{icon-view-orientation}.
2034 @item @anchor{slot.icon-view.pixbuf-column}pixbuf-column. Type: @code{integer}. Accessor: @anchor{fn.icon-view-pixbuf-column}@code{icon-view-pixbuf-column}.
2035 @item @anchor{slot.icon-view.reorderable}reorderable. Type: @code{boolean}. Accessor: @anchor{fn.icon-view-reorderable}@code{icon-view-reorderable}.
2036 @item @anchor{slot.icon-view.row-spacing}row-spacing. Type: @code{integer}. Accessor: @anchor{fn.icon-view-row-spacing}@code{icon-view-row-spacing}.
2037 @item @anchor{slot.icon-view.selection-mode}selection-mode. Type: @ref{selection-mode}. Accessor: @anchor{fn.icon-view-selection-mode}@code{icon-view-selection-mode}.
2038 @item @anchor{slot.icon-view.spacing}spacing. Type: @code{integer}. Accessor: @anchor{fn.icon-view-spacing}@code{icon-view-spacing}.
2039 @item @anchor{slot.icon-view.text-column}text-column. Type: @code{integer}. Accessor: @anchor{fn.icon-view-text-column}@code{icon-view-text-column}.
2040 @item @anchor{slot.icon-view.tooltip-column}tooltip-column. Type: @code{integer}. Accessor: @anchor{fn.icon-view-tooltip-column}@code{icon-view-tooltip-column}.
2041 @end itemize
2042
2043
2044 Signals:
2045 @itemize
2046 @item @anchor{signal.icon-view.activate-cursor-item}"activate-cursor-item". Signature: (instance @ref{icon-view}) @result{} @code{boolean}. Options: run-last, action.
2047 @item @anchor{signal.icon-view.item-activated}"item-activated". Signature: (instance @ref{icon-view}), (arg-1 @ref{tree-path}) @result{} void. Options: run-last.
2048 @item @anchor{signal.icon-view.move-cursor}"move-cursor". Signature: (instance @ref{icon-view}), (arg-1 @ref{movement-step}), (arg-2 @code{integer}) @result{} @code{boolean}. Options: run-last, action.
2049 @item @anchor{signal.icon-view.select-all}"select-all". Signature: (instance @ref{icon-view}) @result{} void. Options: run-last, action.
2050 @item @anchor{signal.icon-view.select-cursor-item}"select-cursor-item". Signature: (instance @ref{icon-view}) @result{} void. Options: run-last, action.
2051 @item @anchor{signal.icon-view.selection-changed}"selection-changed". Signature: (instance @ref{icon-view}) @result{} void. Options: run-first.
2052 @item @anchor{signal.icon-view.set-scroll-adjustments}"set-scroll-adjustments". Signature: (instance @ref{icon-view}), (arg-1 @ref{adjustment}), (arg-2 @ref{adjustment}) @result{} void. Options: run-last.
2053 @item @anchor{signal.icon-view.toggle-cursor-item}"toggle-cursor-item". Signature: (instance @ref{icon-view}) @result{} void. Options: run-last, action.
2054 @item @anchor{signal.icon-view.unselect-all}"unselect-all". Signature: (instance @ref{icon-view}) @result{} void. Options: run-last, action.
2055 @end itemize
2056
2057
2058
2059
2060 @node image
2061 @section image
2062 @Class image
2063 Superclass: @ref{misc} @ref{atk-implementor-iface} @ref{buildable}
2064
2065 The @ref{image} widget displays an image. Various kinds of object can be displayed as an image; most typically, you would load a @ref{pixbuf} ("pixel buffer") from a file, and then display that. There's an @SlotRef{image,file} slot (with @code{:file} initarg) that is used to load @ref{pixbuf} from file:
2066 @lisp
2067 (make-instance 'image :file "myfile.png")
2068 @end lisp
2069
2070 If the file isn't loaded successfully, the image will contain a "broken image" icon similar to that used in many web browsers. If you want to handle errors in loading the file yourself, for example by displaying an error message, then load the image and set the @SlotRef{image,pixbuf}.
2071
2072 The image file may contain an animation, if so the @ref{image} will display an animation (@ref{pixbuf-animation}) instead of a static image.
2073
2074 @ref{image} is a subclass of @ref{misc}, which implies that you can align it (center, left, right) and add padding to it, using @ref{misc} slot.
2075
2076 @ref{image} is a "no window" widget (has no @ref{gdk-window} of its own), so by default does not receive events. If you want to receive events on the image, such as button clicks, place the image inside a @ref{event-box}, then connect to the event signals on the event box.
2077
2078 When handling events on the event box, keep in mind that coordinates in the image may be different from event box coordinates due to the alignment and padding settings on the image (see @ref{misc}). The simplest way to solve this is to set the alignment to 0.0 (left/top), and set the padding to zero. Then the origin of the image will be the same as the origin of the event box.
2079
2080 @c Sometimes an application will want to avoid depending on external data files, such as image files. GTK+ comes with a program to avoid this, called gdk-pixbuf-csource. This program allows you to convert an image into a C variable declaration, which can then be loaded into a GdkPixbuf using gdk_pixbuf_new_from_inline().
2081
2082 Slots:
2083 @itemize
2084 @item @anchor{slot.image.file}file. Type: @code{string}. Accessor: @anchor{fn.image-file}@code{image-file}.
2085
2086 Filename to load and display.
2087
2088 Default value: NIL
2089 @item @anchor{slot.image.gicon}gicon. Type: @code{GIcon}. Accessor: @anchor{fn.image-gicon}@code{image-gicon}.
2090
2091 The GIcon displayed in the GtkImage. For themed icons, If the icon theme is changed, the image will be updated automatically.
2092
2093 TODO: GIcon is part of GIO library that is not yet supported by cl-gtk2
2094 @item @anchor{slot.image.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.image-icon-name}@code{image-icon-name}.
2095
2096 The name of the icon in the icon theme. If the icon theme is changed, the image will be updated automatically.
2097
2098 Default value: NIL
2099 @item @anchor{slot.image.icon-set}icon-set. Type: @code{GtkIconSet}. Accessor: @anchor{fn.image-icon-set}@code{image-icon-set}.
2100
2101 Icon set to display.
2102 @item @anchor{slot.image.icon-size}icon-size. Type: @code{integer}. Accessor: @anchor{fn.image-icon-size}@code{image-icon-size}.
2103
2104 Symbolic size to use for stock icon, icon set or named icon.
2105
2106 Allowed values: >= 0
2107
2108 Default value: 4
2109 @item @anchor{slot.image.image}image. Type: @ref{gdk-image}. Accessor: @anchor{fn.image-image}@code{image-image}.
2110
2111 A GdkImage to display.
2112 @item @anchor{slot.image.mask}mask. Type: @ref{pixmap}. Accessor: @anchor{fn.image-mask}@code{image-mask}.
2113
2114 Mask bitmap to use with @ref{gdk-image} or @ref{pixmap}.
2115 @item @anchor{slot.image.pixbuf}pixbuf. Type: @ref{pixbuf}. Accessor: @anchor{fn.image-pixbuf}@code{image-pixbuf}.
2116
2117 A @ref{pixbuf} to display.
2118 @item @anchor{slot.image.pixbuf-animation}pixbuf-animation. Type: @ref{pixbuf-animation}. Accessor: @anchor{fn.image-pixbuf-animation}@code{image-pixbuf-animation}.
2119
2120 @ref{pixbuf-animation} to display.
2121 @item @anchor{slot.image.pixel-size}pixel-size. Type: @code{integer}. Accessor: @anchor{fn.image-pixel-size}@code{image-pixel-size}.
2122
2123 This property can be used to specify a fixed size overriding the @SlotRef{image,icon-size} property for images of type @EnumVRef{image-type,icon-name}.
2124
2125 Default value: -1
2126 @item @anchor{slot.image.pixmap}pixmap. Type: @ref{pixmap}. Accessor: @anchor{fn.image-pixmap}@code{image-pixmap}.
2127
2128 A @ref{pixmap} to display.
2129 @item @anchor{slot.image.stock}stock. Type: @code{string}. Accessor: @anchor{fn.image-stock}@code{image-stock}.
2130
2131 Stock ID for a stock image to display.
2132
2133 Default value: NIL
2134 @item @anchor{slot.image.storage-type}storage-type. Type: @ref{image-type}. Accessor: @anchor{fn.image-storage-type}@code{image-storage-type}. Read-only.
2135
2136 The representation being used for image data.
2137
2138 Default value: @EnumVRef{image-type,empty}
2139 @end itemize
2140
2141
2142 Signals:
2143 @itemize
2144 @end itemize
2145
2146
2147
2148
2149 @node image-menu-item
2150 @section image-menu-item
2151 @Class image-menu-item
2152 Superclass: @ref{menu-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2153
2154 Slots:
2155 @itemize
2156 @item @anchor{slot.image-menu-item.accel-group}accel-group. Type: @ref{accel-group}. Accessor: @anchor{fn.image-menu-item-accel-group}@code{image-menu-item-accel-group}. Write-only.
2157 @item @anchor{slot.image-menu-item.always-show-image}always-show-image. Type: @code{boolean}. Accessor: @anchor{fn.image-menu-item-always-show-image}@code{image-menu-item-always-show-image}.
2158 @item @anchor{slot.image-menu-item.image}image. Type: @ref{widget}. Accessor: @anchor{fn.image-menu-item-image}@code{image-menu-item-image}.
2159 @item @anchor{slot.image-menu-item.use-stock}use-stock. Type: @code{boolean}. Accessor: @anchor{fn.image-menu-item-use-stock}@code{image-menu-item-use-stock}.
2160 @end itemize
2161
2162
2163 Signals:
2164 @itemize
2165 @end itemize
2166
2167
2168
2169
2170 @node input-dialog
2171 @section input-dialog
2172 @Class input-dialog
2173 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable}
2174
2175 Slots:
2176 @itemize
2177 @end itemize
2178
2179
2180 Signals:
2181 @itemize
2182 @item @anchor{signal.input-dialog.disable-device}"disable-device". Signature: (instance @ref{input-dialog}), (arg-1 @code{GdkDevice}) @result{} void. Options: run-last.
2183 @item @anchor{signal.input-dialog.enable-device}"enable-device". Signature: (instance @ref{input-dialog}), (arg-1 @code{GdkDevice}) @result{} void. Options: run-last.
2184 @end itemize
2185
2186
2187
2188
2189 @node invisible
2190 @section invisible
2191 @Class invisible
2192 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
2193
2194 The @ref{invisible} widget is used internally in GTK+, and is probably not very useful for application developers.
2195
2196 It is used for reliable pointer grabs and selection handling in the code for drag-and-drop.
2197
2198 Slots:
2199 @itemize
2200 @item @anchor{slot.invisible.screen}screen. Type: @ref{screen}. Accessor: @anchor{fn.invisible-screen}@code{invisible-screen}.
2201
2202 The @ref{screen} where this window will be displayed.
2203 @end itemize
2204
2205
2206 Signals:
2207 @itemize
2208 @end itemize
2209
2210
2211
2212
2213 @node item
2214 @section item
2215 @Class item
2216 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
2217
2218 Subclasses: @ref{tree-item} @ref{menu-item}
2219
2220 Slots:
2221 @itemize
2222 @end itemize
2223
2224
2225 Signals:
2226 @itemize
2227 @item @anchor{signal.item.deselect}"deselect". Signature: (instance @ref{item}) @result{} void. Options: run-first.
2228 @item @anchor{signal.item.select}"select". Signature: (instance @ref{item}) @result{} void. Options: run-first.
2229 @item @anchor{signal.item.toggle}"toggle". Signature: (instance @ref{item}) @result{} void. Options: run-first.
2230 @end itemize
2231
2232
2233
2234
2235 @node label
2236 @section label
2237 @Class label
2238 Superclass: @ref{misc} @ref{atk-implementor-iface} @ref{buildable}
2239
2240 Subclasses: @ref{accel-label}
2241
2242 The @ref{label} widget displays a small amount of text. As the name implies, most labels are used to label another widget such as a @ref{button}, or a @ref{menu-item}.
2243
2244 @chapheading Mnemonics
2245
2246 Labels may contain mnemonics. Mnemonics are underlined characters in the label, used for keyboard navigation. Mnemonics are created by providing a string with an underscore before the mnemonic character, such as "_File", to @SlotRef{label,label} and setting @SlotRef{label,use-underline} to True.
2247
2248 Mnemonics automatically activate any activatable widget the label is inside, such as a @ref{button}; if the label is not inside the mnemonic's target widget, you have to tell the label about the target by settings @SlotRef{label,mnemonic-widget}. Here's a simple example where the label is inside a button:
2249
2250 @chapheading Markup (styled text)
2251
2252 To make it easy to format text in a label (changing colors, fonts, etc.), label text can be provided in a simple markup format. Set @SlotRef{label,use-markup} to True if @SlotRef{label,label} contains markup. Here's how to create a label with a small font:
2253 @lisp
2254 (make-instance 'label :label "<small>Small text</small>" :use-markup t)
2255 @end lisp
2256 (See @uref{http://library.gnome.org/devel/pango/stable/PangoMarkupFormat.html,,complete documentation} of available tags in the Pango manual.)
2257
2258 The markup passed to @SlotRef{label,label} must be valid; for example, literal @code{</>/&} characters must be escaped as @code{&lt;}, @code{&gt;}, and @code{&amp;}. If you pass text obtained from the user, file, or a network, you'll want to escape it with g_markup_escape_text() or g_markup_printf_escaped(). (TODO: these functions are not supported yet in cl-gtk2)
2259
2260 Markup strings are just a convenient way to set the PangoAttrList on a label; @SlotRef{label,attributes} may be a simpler way to set attributes in some cases. Be careful though; PangoAttrList tends to cause internationalization problems, unless you're applying attributes to the entire string (i.e. unless you set the range of each attribute to [0, G_MAXINT)). The reason is that specifying the start_index and end_index for a PangoAttribute requires knowledge of the exact string being displayed, so translations will cause problems.
2261
2262 @chapheading Selectable labels
2263
2264 Labels can be made selectable with @SlotRef{label,selectable}. Selectable labels allow the user to copy the label contents to the clipboard. Only labels that contain useful-to-copy information - such as error messages - should be made selectable.
2265
2266 @chapheading Text layout
2267
2268 A label can contain any number of paragraphs, but will have performance problems if it contains more than a small number. Paragraphs are separated by newlines or other paragraph separators understood by Pango.
2269
2270 Labels can automatically wrap text if you call @SlotRef{label,line-wrap}.
2271
2272 @SlotRef{label,justify} sets how the lines in a label align with one another. If you want to set how the label as a whole aligns in its available space, see @SlotRef{misc,xalign} and @SlotRef{misc,yalign}.
2273
2274 Slots:
2275 @itemize
2276 @item @anchor{slot.label.angle}angle. Type: @code{double-float}. Accessor: @anchor{fn.label-angle}@code{label-angle}.
2277
2278 The angle that the baseline of the label makes with the horizontal, in degrees, measured counterclockwise. An angle of 90 reads from from bottom to top, an angle of 270, from top to bottom. Ignored if the label is selectable, wrapped, or ellipsized.
2279
2280 Allowed values: [0,360]
2281
2282 Default value: 0
2283 @item @anchor{slot.label.attributes}attributes. Type: @code{PangoAttrList}. Accessor: @anchor{fn.label-attributes}@code{label-attributes}.
2284
2285 A list of style attributes to apply to the text of the label
2286 @item @anchor{slot.label.cursor-position}cursor-position. Type: @code{integer}. Accessor: @anchor{fn.label-cursor-position}@code{label-cursor-position}. Read-only.
2287
2288 The current position of the insertion cursor in chars.
2289
2290 Allowed values: >= 0
2291
2292 Default value: 0
2293 @item @anchor{slot.label.ellipsize}ellipsize. Type: @ref{pango-ellipsize-mode}. Accessor: @anchor{fn.label-ellipsize}@code{label-ellipsize}.
2294
2295 The preferred place to ellipsize the string, if the label does not have enough room to display the entire string.
2296
2297 Note that setting this property to a value other than @EnumVRef{pango-ellipsize-mode,none} has the side-effect that the label requests only enough space to display the ellipsis "...". In particular, this means that ellipsizing labels do not work well in notebook tabs, unless the tab's "tab-expand" property is set to True. Other ways to set a label's width are @SlotRef{widget,width-request} and @SlotRef{label,width-chars}.
2298
2299 Default value: @EnumVRef{pango-ellipsize-mode,none}
2300 @item @anchor{slot.label.justify}justify. Type: @ref{justification}. Accessor: @anchor{fn.label-justify}@code{label-justify}.
2301
2302 The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See @SlotRef{misc,xalign} for that.
2303
2304 Default value: @EnumVRef{justification,left}
2305 @item @anchor{slot.label.label}label. Type: @code{string}. Accessor: @anchor{fn.label-label}@code{label-label}.
2306
2307 The text of the label.
2308
2309 Default value: ""
2310 @item @anchor{slot.label.layout}layout. Type: @ref{g-object}. Accessor: @anchor{fn.label-layout}@code{label-layout}. Read-only.
2311
2312 Gets the PangoLayout used to display the label. The layout is useful to e.g. convert text positions to pixel positions, in combination with @SlotRef{label,layout-offsets}.
2313 @item @anchor{slot.label.layout-offsets}layout-offsets. Type: list of @code{integer}. Accessor: @anchor{fn.label-layout-offsets}@code{label-layout-offsets}. Read-only.
2314
2315 The coordinates where the label will draw the @code{PangoLayout} representing the text in the label; useful to convert mouse events into coordinates inside the @code{PangoLayout}, e.g. to take some action if some part of the label is clicked. Of course you will need to create a @ref{event-box} to receive the events, and pack the label inside it, since labels are a no-window widgets. Remember when using the @code{PangoLayout} functions you need to convert to and from pixels using PANGO_PIXELS or PANGO_SCALE.
2316 @item @anchor{slot.label.line-wrap}line-wrap. Type: @code{boolean}. Accessor: @anchor{fn.label-line-wrap}@code{label-line-wrap}.
2317
2318 Whether lines in the label are automatically wrapped. True makes label break lines if text exceeds the widget's size. False lets the text get cut off by the edge of the widget if it exceeds the widget size.
2319
2320 Note that setting line wrapping to True does not make the label wrap at its parent container's width, because GTK+ widgets conceptually can't make their requisition depend on the parent container's size. For a label that wraps at a specific position, set the label's width using @SlotRef{widget,width-request}.
2321 @item @anchor{slot.label.line-wrap-mode}line-wrap-mode. Type: @ref{pango-wrap-mode}. Accessor: @anchor{fn.label-line-wrap-mode}@code{label-line-wrap-mode}.
2322
2323 If line wrapping is on (see @SlotRef{label,line-wrap}) this controls how the line wrapping is done. The default is @EnumVRef{pango-wrap-mode,word} which means wrap on word boundaries.
2324 @item @anchor{slot.label.max-width-chars}max-width-chars. Type: @code{integer}. Accessor: @anchor{fn.label-max-width-chars}@code{label-max-width-chars}.
2325
2326 The desired maximum width of the label, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the label will request space for no more than the requested number of characters. If the @SlotRef{label,width-chars} property is set to a positive value, then the @SlotRef{label,max-width-chars} property is ignored.
2327
2328 Default value: -1
2329 @item @anchor{slot.label.mnemonic-keyval}mnemonic-keyval. Type: @code{integer}. Accessor: @anchor{fn.label-mnemonic-keyval}@code{label-mnemonic-keyval}. Read-only.
2330
2331 The mnemonic accelerator key for this label.
2332
2333 Default value: 16777215
2334 @item @anchor{slot.label.mnemonic-widget}mnemonic-widget. Type: @ref{widget}. Accessor: @anchor{fn.label-mnemonic-widget}@code{label-mnemonic-widget}.
2335
2336 The widget to be activated when the label's mnemonic key is pressed.
2337 @item @anchor{slot.label.pattern}pattern. Type: @code{string}. Accessor: @anchor{fn.label-pattern}@code{label-pattern}. Write-only.
2338
2339 A string with _ characters in positions correspond to characters in the text to underline.
2340
2341 Default value: NIL
2342 @item @anchor{slot.label.selectable}selectable. Type: @code{boolean}. Accessor: @anchor{fn.label-selectable}@code{label-selectable}.
2343
2344 Whether the label text can be selected with the mouse.
2345
2346 Default value: False
2347 @item @anchor{slot.label.selection-bound}selection-bound. Type: @code{integer}. Accessor: @anchor{fn.label-selection-bound}@code{label-selection-bound}. Read-only.
2348
2349 The position of the opposite end of the selection from the cursor in chars.
2350
2351 Allowed values: >= 0
2352
2353 Default value: 0
2354 @item @anchor{slot.label.selection-bounds}selection-bounds. Type: @code{(list integer integer)}. Accessor: @anchor{fn.label-selection-bounds}@code{label-selection-bounds}. Read-only.
2355
2356 Gets the selected range of characters in the label. Returns either NIL if there is no selection or list of two integers specifying character offsets of start and end of a selection
2357 @item @anchor{slot.label.single-line-mode}single-line-mode. Type: @code{boolean}. Accessor: @anchor{fn.label-single-line-mode}@code{label-single-line-mode}.
2358
2359 Whether the label is in single line mode. In single line mode, the height of the label does not depend on the actual text, it is always set to ascent + descent of the font. This can be an advantage in situations where resizing the label because of text changes would be distracting, e.g. in a statusbar.
2360
2361 Default value: False
2362 @item @anchor{slot.label.use-markup}use-markup. Type: @code{boolean}. Accessor: @anchor{fn.label-use-markup}@code{label-use-markup}.
2363
2364 The text of the label includes XML markup.
2365
2366 Default value: False
2367 @item @anchor{slot.label.use-underline}use-underline. Type: @code{boolean}. Accessor: @anchor{fn.label-use-underline}@code{label-use-underline}.
2368
2369 If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key.
2370
2371 Default value: False
2372 @item @anchor{slot.label.width-chars}width-chars. Type: @code{integer}. Accessor: @anchor{fn.label-width-chars}@code{label-width-chars}.
2373
2374 he desired width of the label, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the label will request either 3 characters or the property value, whichever is greater. If the @SlotRef{label,width-chars} property is set to a positive value, then the @SlotRef{label,max-width-chars} property is ignored.
2375
2376 Default value: -1
2377 @item @anchor{slot.label.wrap}wrap. Type: @code{boolean}. Accessor: @anchor{fn.label-wrap}@code{label-wrap}.
2378
2379 If set, wrap lines if the text becomes too wide.
2380
2381 Default value: False
2382 @item @anchor{slot.label.wrap-mode}wrap-mode. Type: @ref{pango-wrap-mode}. Accessor: @anchor{fn.label-wrap-mode}@code{label-wrap-mode}.
2383
2384 If line wrapping is on (see the @SlotRef{label,wrap} property) this controls how the line wrapping is done. The default is @EnumVRef{pango-wrap-mode,word}, which means wrap on word boundaries.
2385 @end itemize
2386
2387
2388 Signals:
2389 @itemize
2390 @item @anchor{signal.label.copy-clipboard}"copy-clipboard". Signature: (instance @ref{label}) @result{} void. Options: run-last, action.
2391
2392 This signal is a keybinding signal which gets emitted to copy the selection to the clipboard.
2393
2394 The default binding for this signal is Ctrl-c.
2395 @item @anchor{signal.label.move-cursor}"move-cursor". Signature: (instance @ref{label}), (step @ref{movement-step}), (count @code{integer}), (extend-selection @code{boolean}) @result{} void. Options: run-last, action.
2396
2397 This signal is a keybinding signal which gets emitted when the user initiates a cursor movement. If the cursor is not visible in entry, this signal causes the viewport to be moved instead.
2398
2399 Applications should not connect to it, but may emit it with @ref{emit-signal} if they need to control the cursor programmatically.
2400
2401 The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifer does not. There are too many key combinations to list them all here.
2402
2403 @itemize
2404 @item Arrow keys move by individual characters/lines
2405 @item Ctrl-arrow key combinations move by words/paragraphs
2406 @item Home/End keys move to the ends of the buffer
2407 @end itemize
2408
2409
2410 @var{step}: the granularity of the move, as a GtkMovementStep
2411
2412 @var{count}: the number of step units to move
2413
2414 @var{extend-selection}: True if the move should extend the selection
2415 @item @anchor{signal.label.populate-popup}"populate-popup". Signature: (instance @ref{label}), (menu @ref{menu}) @result{} void. Options: run-last.
2416
2417 This signal gets emitted before showing the context menu of the label. Note that only selectable labels have context menus.
2418
2419 If you need to add items to the context menu, connect to this signal and append your menuitems to the menu.
2420 @end itemize
2421
2422
2423
2424
2425 @node layout
2426 @section layout
2427 @Class layout
2428 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
2429
2430 Slots:
2431 @itemize
2432 @item @anchor{slot.layout.bin-window}bin-window. Type: @ref{g-object}. Accessor: @anchor{fn.layout-bin-window}@code{layout-bin-window}. Read-only.
2433 @item @anchor{slot.layout.hadjustment}hadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.layout-hadjustment}@code{layout-hadjustment}.
2434 @item @anchor{slot.layout.height}height. Type: @code{integer}. Accessor: @anchor{fn.layout-height}@code{layout-height}.
2435 @item @anchor{slot.layout.vadjustment}vadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.layout-vadjustment}@code{layout-vadjustment}.
2436 @item @anchor{slot.layout.width}width. Type: @code{integer}. Accessor: @anchor{fn.layout-width}@code{layout-width}.
2437 @end itemize
2438
2439
2440 Signals:
2441 @itemize
2442 @item @anchor{signal.layout.set-scroll-adjustments}"set-scroll-adjustments". Signature: (instance @ref{layout}), (arg-1 @ref{adjustment}), (arg-2 @ref{adjustment}) @result{} void. Options: run-last, action.
2443 @end itemize
2444
2445
2446
2447
2448 @node link-button
2449 @section link-button
2450 @Class link-button
2451 Superclass: @ref{button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2452
2453 A @ref{link-button} is a @ref{button} with a hyperlink, similar to the one used by web browsers, which triggers an action when clicked. It is useful to show quick links to resources.
2454
2455 @ref{link-button} offers a global hook, which is called when the used clicks on it: see @ref{link-button-global-uri-hook}.
2456
2457 Slots:
2458 @itemize
2459 @item @anchor{slot.link-button.uri}uri. Type: @code{string}. Accessor: @anchor{fn.link-button-uri}@code{link-button-uri}.
2460
2461 The URI bound to this button.
2462
2463 Default value: NIL
2464 @item @anchor{slot.link-button.visited}visited. Type: @code{boolean}. Accessor: @anchor{fn.link-button-visited}@code{link-button-visited}.
2465
2466 The 'visited' state of this button. A visited link is drawn in a different color.
2467
2468 Default value: False
2469 @end itemize
2470
2471
2472 Signals:
2473 @itemize
2474 @end itemize
2475
2476 @RFunction link-button-global-uri-hook
2477 @lisp
2478 (setf (link-button-gloval-uri-hook) function)
2479 @end lisp
2480
2481 Sets function as the function that should be invoked every time a user clicks a @ref{link-button}. This function is called before every callback registered for the @SignalRef{button,clicked} signal.
2482
2483 If @var{function} is NIL, GTK+ defaults to calling gtk_show_uri() (default function that opens the default application for a URI).
2484
2485 @var{function} is a function of two arguments: a @ref{link-button} and a @code{string}. First argument is the button that was clicked and the second is the URI of the button.
2486
2487 @node menu
2488 @section menu
2489 @Class menu
2490 Superclass: @ref{menu-shell} @ref{atk-implementor-iface} @ref{buildable}
2491
2492 Subclasses: @ref{recent-chooser-menu}
2493
2494 Slots:
2495 @itemize
2496 @item @anchor{slot.menu.accel-group}accel-group. Type: @ref{accel-group}. Accessor: @anchor{fn.menu-accel-group}@code{menu-accel-group}.
2497 @item @anchor{slot.menu.accel-path}accel-path. Type: @code{string}. Accessor: @anchor{fn.menu-accel-path}@code{menu-accel-path}.
2498 @item @anchor{slot.menu.active}active. Type: @code{integer}. Accessor: @anchor{fn.menu-active}@code{menu-active}.
2499 @item @anchor{slot.menu.attach-widget}attach-widget. Type: @ref{widget}. Accessor: @anchor{fn.menu-attach-widget}@code{menu-attach-widget}.
2500 @item @anchor{slot.menu.monitor}monitor. Type: @code{integer}. Accessor: @anchor{fn.menu-monitor}@code{menu-monitor}.
2501 @item @anchor{slot.menu.screen}screen. Type: @ref{g-object}. Accessor: @anchor{fn.menu-screen}@code{menu-screen}. Write-only.
2502 @item @anchor{slot.menu.tearoff-state}tearoff-state. Type: @code{boolean}. Accessor: @anchor{fn.menu-tearoff-state}@code{menu-tearoff-state}.
2503 @item @anchor{slot.menu.tearoff-title}tearoff-title. Type: @code{string}. Accessor: @anchor{fn.menu-tearoff-title}@code{menu-tearoff-title}.
2504 @end itemize
2505
2506
2507 Signals:
2508 @itemize
2509 @item @anchor{signal.menu.move-scroll}"move-scroll". Signature: (instance @ref{menu}), (arg-1 @ref{scroll-type}) @result{} void. Options: run-last, action.
2510 @end itemize
2511
2512
2513
2514
2515 @node menu-bar
2516 @section menu-bar
2517 @Class menu-bar
2518 Superclass: @ref{menu-shell} @ref{atk-implementor-iface} @ref{buildable}
2519
2520 Slots:
2521 @itemize
2522 @item @anchor{slot.menu-bar.child-pack-direction}child-pack-direction. Type: @ref{pack-direction}. Accessor: @anchor{fn.menu-bar-child-pack-direction}@code{menu-bar-child-pack-direction}.
2523 @item @anchor{slot.menu-bar.pack-direction}pack-direction. Type: @ref{pack-direction}. Accessor: @anchor{fn.menu-bar-pack-direction}@code{menu-bar-pack-direction}.
2524 @end itemize
2525
2526
2527 Signals:
2528 @itemize
2529 @end itemize
2530
2531
2532
2533
2534 @node menu-item
2535 @section menu-item
2536 @Class menu-item
2537 Superclass: @ref{item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2538
2539 Subclasses: @ref{tearoff-menu-item} @ref{separator-menu-item} @ref{image-menu-item} @ref{check-menu-item}
2540
2541 Slots:
2542 @itemize
2543 @item @anchor{slot.menu-item.accel-path}accel-path. Type: @code{string}. Accessor: @anchor{fn.menu-item-accel-path}@code{menu-item-accel-path}.
2544 @item @anchor{slot.menu-item.label}label. Type: @code{string}. Accessor: @anchor{fn.menu-item-label}@code{menu-item-label}.
2545 @item @anchor{slot.menu-item.right-justified}right-justified. Type: @code{boolean}. Accessor: @anchor{fn.menu-item-right-justified}@code{menu-item-right-justified}.
2546 @item @anchor{slot.menu-item.submenu}submenu. Type: @ref{menu}. Accessor: @anchor{fn.menu-item-submenu}@code{menu-item-submenu}.
2547 @item @anchor{slot.menu-item.use-underline}use-underline. Type: @code{boolean}. Accessor: @anchor{fn.menu-item-use-underline}@code{menu-item-use-underline}.
2548 @end itemize
2549
2550
2551 Signals:
2552 @itemize
2553 @item @anchor{signal.menu-item.activate}"activate". Signature: (instance @ref{menu-item}) @result{} void. Options: run-first, action.
2554 @item @anchor{signal.menu-item.activate-item}"activate-item". Signature: (instance @ref{menu-item}) @result{} void. Options: run-first.
2555 @item @anchor{signal.menu-item.toggle-size-allocate}"toggle-size-allocate". Signature: (instance @ref{menu-item}), (arg-1 @code{integer}) @result{} void. Options: run-first.
2556 @item @anchor{signal.menu-item.toggle-size-request}"toggle-size-request". Signature: (instance @ref{menu-item}), (arg-1 gpointer) @result{} void. Options: run-first.
2557 @end itemize
2558
2559
2560
2561
2562 @node menu-shell
2563 @section menu-shell
2564 @Class menu-shell
2565 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
2566
2567 Subclasses: @ref{menu-bar} @ref{menu}
2568
2569 Slots:
2570 @itemize
2571 @item @anchor{slot.menu-shell.take-focus}take-focus. Type: @code{boolean}. Accessor: @anchor{fn.menu-shell-take-focus}@code{menu-shell-take-focus}.
2572 @end itemize
2573
2574
2575 Signals:
2576 @itemize
2577 @item @anchor{signal.menu-shell.activate-current}"activate-current". Signature: (instance @ref{menu-shell}), (arg-1 @code{boolean}) @result{} void. Options: run-last, action.
2578 @item @anchor{signal.menu-shell.cancel}"cancel". Signature: (instance @ref{menu-shell}) @result{} void. Options: run-last, action.
2579 @item @anchor{signal.menu-shell.cycle-focus}"cycle-focus". Signature: (instance @ref{menu-shell}), (arg-1 @ref{direction-type}) @result{} void. Options: run-last, action.
2580 @item @anchor{signal.menu-shell.deactivate}"deactivate". Signature: (instance @ref{menu-shell}) @result{} void. Options: run-first.
2581 @item @anchor{signal.menu-shell.move-current}"move-current". Signature: (instance @ref{menu-shell}), (arg-1 @ref{menu-direction-type}) @result{} void. Options: run-last, action.
2582 @item @anchor{signal.menu-shell.move-selected}"move-selected". Signature: (instance @ref{menu-shell}), (arg-1 @code{integer}) @result{} @code{boolean}. Options: run-last.
2583 @item @anchor{signal.menu-shell.selection-done}"selection-done". Signature: (instance @ref{menu-shell}) @result{} void. Options: run-first.
2584 @end itemize
2585
2586
2587
2588
2589 @node menu-tool-button
2590 @section menu-tool-button
2591 @Class menu-tool-button
2592 Superclass: @ref{tool-button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2593
2594 Slots:
2595 @itemize
2596 @item @anchor{slot.menu-tool-button.arrow-tooltip-markup}arrow-tooltip-markup. Type: @code{string}. Accessor: @anchor{fn.menu-tool-button-arrow-tooltip-markup}@code{menu-tool-button-arrow-tooltip-markup}. Write-only.
2597 @item @anchor{slot.menu-tool-button.arrow-tooltip-text}arrow-tooltip-text. Type: @code{string}. Accessor: @anchor{fn.menu-tool-button-arrow-tooltip-text}@code{menu-tool-button-arrow-tooltip-text}. Write-only.
2598 @item @anchor{slot.menu-tool-button.menu}menu. Type: @ref{menu}. Accessor: @anchor{fn.menu-tool-button-menu}@code{menu-tool-button-menu}.
2599 @end itemize
2600
2601
2602 Signals:
2603 @itemize
2604 @item @anchor{signal.menu-tool-button.show-menu}"show-menu". Signature: (instance @ref{menu-tool-button}) @result{} void. Options: run-first.
2605 @end itemize
2606
2607
2608
2609
2610 @node message-dialog
2611 @section message-dialog
2612 @Class message-dialog
2613 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable}
2614
2615 @ref{message-dialog} presents a dialog with an image representing the
2616 type of message (Error, Question, etc.) alongside some message
2617 text. It's simply a convenience widget; you could construct the
2618 equivalent of @ref{message-dialog} from @ref{dialog} without too much
2619 effort, but @ref{message-dialog} saves typing.
2620
2621 The easiest way to do a modal message dialog is to use gtk_dialog_run(),
2622 though you can also pass in the @FlagsVRef{dialog-flags,modal} flag,
2623 @ref{dialog-run} automatically makes the dialog modal and waits for the
2624 user to respond to it. @ref{dialog-run} returns when any dialog button
2625 is clicked.
2626
2627 Slots:
2628 @itemize
2629 @item @anchor{slot.message-dialog.buttons}buttons. Type: @ref{buttons-type}. Accessor: @anchor{fn.message-dialog-buttons}@code{message-dialog-buttons}. Write-only.
2630
2631 The buttons shown in the message dialog.
2632
2633 Default value: @EnumVRef{buttons-type,none}
2634 @item @anchor{slot.message-dialog.image}image. Type: @ref{widget}. Accessor: @anchor{fn.message-dialog-image}@code{message-dialog-image}.
2635
2636 The image for this dialog
2637 @item @anchor{slot.message-dialog.message-type}message-type. Type: @ref{message-type}. Accessor: @anchor{fn.message-dialog-message-type}@code{message-dialog-message-type}.
2638
2639 The type of the message. The type is used to determine the image that is shown in the dialog, unless the image is explicitly set by the @SlotRef{message-dialog,image} property.
2640
2641 Default value: @EnumVRef{message-type,info}
2642 @item @anchor{slot.message-dialog.secondary-text}secondary-text. Type: @code{string}. Accessor: @anchor{fn.message-dialog-secondary-text}@code{message-dialog-secondary-text}.
2643
2644 The secondary text of the message dialog.
2645
2646 Default value: NIL
2647 @item @anchor{slot.message-dialog.secondary-use-markup}secondary-use-markup. Type: @code{boolean}. Accessor: @anchor{fn.message-dialog-secondary-use-markup}@code{message-dialog-secondary-use-markup}.
2648
2649 True if the secondary text of the dialog includes Pango markup. See pango_parse_markup().
2650
2651 Default value: False
2652 @item @anchor{slot.message-dialog.text}text. Type: @code{string}. Accessor: @anchor{fn.message-dialog-text}@code{message-dialog-text}.
2653
2654 The primary text of the message dialog. If the dialog has a secondary text, this will appear as the title.
2655
2656 Default value: ""
2657 @item @anchor{slot.message-dialog.use-markup}use-markup. Type: @code{boolean}. Accessor: @anchor{fn.message-dialog-use-markup}@code{message-dialog-use-markup}.
2658
2659 True if the primary text of the dialog includes Pango markup. See pango_parse_markup().
2660
2661 Default value: False
2662 @end itemize
2663
2664
2665 Signals:
2666 @itemize
2667 @end itemize
2668
2669
2670 @node misc
2671 @section misc
2672 @Class misc
2673 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
2674
2675 Subclasses: @ref{image} @ref{arrow} @ref{label}
2676
2677 Slots:
2678 @itemize
2679 @item @anchor{slot.misc.xalign}xalign. Type: @code{single-float}. Accessor: @anchor{fn.misc-xalign}@code{misc-xalign}.
2680 @item @anchor{slot.misc.xpad}xpad. Type: @code{integer}. Accessor: @anchor{fn.misc-xpad}@code{misc-xpad}.
2681 @item @anchor{slot.misc.yalign}yalign. Type: @code{single-float}. Accessor: @anchor{fn.misc-yalign}@code{misc-yalign}.
2682 @item @anchor{slot.misc.ypad}ypad. Type: @code{integer}. Accessor: @anchor{fn.misc-ypad}@code{misc-ypad}.
2683 @end itemize
2684
2685
2686 Signals:
2687 @itemize
2688 @end itemize
2689
2690
2691
2692
2693 @node notebook
2694 @section notebook
2695 @Class notebook
2696 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
2697
2698 Slots:
2699 @itemize
2700 @item @anchor{slot.notebook.enable-popup}enable-popup. Type: @code{boolean}. Accessor: @anchor{fn.notebook-enable-popup}@code{notebook-enable-popup}.
2701 @item @anchor{slot.notebook.group}group. Type: gpointer. Accessor: @anchor{fn.notebook-group}@code{notebook-group}.
2702 @item @anchor{slot.notebook.group-id}group-id. Type: @code{integer}. Accessor: @anchor{fn.notebook-group-id}@code{notebook-group-id}.
2703 @item @anchor{slot.notebook.homogeneous}homogeneous. Type: @code{boolean}. Accessor: @anchor{fn.notebook-homogeneous}@code{notebook-homogeneous}.
2704 @item @anchor{slot.notebook.page}page. Type: @code{integer}. Accessor: @anchor{fn.notebook-page}@code{notebook-page}.
2705 @item @anchor{slot.notebook.scrollable}scrollable. Type: @code{boolean}. Accessor: @anchor{fn.notebook-scrollable}@code{notebook-scrollable}.
2706 @item @anchor{slot.notebook.show-border}show-border. Type: @code{boolean}. Accessor: @anchor{fn.notebook-show-border}@code{notebook-show-border}.
2707 @item @anchor{slot.notebook.show-tabs}show-tabs. Type: @code{boolean}. Accessor: @anchor{fn.notebook-show-tabs}@code{notebook-show-tabs}.
2708 @item @anchor{slot.notebook.tab-border}tab-border. Type: @code{integer}. Accessor: @anchor{fn.notebook-tab-border}@code{notebook-tab-border}. Write-only.
2709 @item @anchor{slot.notebook.tab-hborder}tab-hborder. Type: @code{integer}. Accessor: @anchor{fn.notebook-tab-hborder}@code{notebook-tab-hborder}.
2710 @item @anchor{slot.notebook.tab-pos}tab-pos. Type: @ref{position-type}. Accessor: @anchor{fn.notebook-tab-pos}@code{notebook-tab-pos}.
2711 @item @anchor{slot.notebook.tab-vborder}tab-vborder. Type: @code{integer}. Accessor: @anchor{fn.notebook-tab-vborder}@code{notebook-tab-vborder}.
2712 @end itemize
2713
2714
2715 Signals:
2716 @itemize
2717 @item @anchor{signal.notebook.change-current-page}"change-current-page". Signature: (instance @ref{notebook}), (arg-1 @code{integer}) @result{} @code{boolean}. Options: run-last, action.
2718 @item @anchor{signal.notebook.create-window}"create-window". Signature: (instance @ref{notebook}), (arg-1 @ref{widget}), (arg-2 @code{integer}), (arg-3 @code{integer}) @result{} @ref{notebook}. Options: run-last.
2719 @item @anchor{signal.notebook.focus-tab}"focus-tab". Signature: (instance @ref{notebook}), (arg-1 @ref{notebook-tab}) @result{} @code{boolean}. Options: run-last, action.
2720 @item @anchor{signal.notebook.move-focus-out}"move-focus-out". Signature: (instance @ref{notebook}), (arg-1 @ref{direction-type}) @result{} void. Options: run-last, action.
2721 @item @anchor{signal.notebook.page-added}"page-added". Signature: (instance @ref{notebook}), (arg-1 @ref{widget}), (arg-2 @code{integer}) @result{} void. Options: run-last.
2722 @item @anchor{signal.notebook.page-removed}"page-removed". Signature: (instance @ref{notebook}), (arg-1 @ref{widget}), (arg-2 @code{integer}) @result{} void. Options: run-last.
2723 @item @anchor{signal.notebook.page-reordered}"page-reordered". Signature: (instance @ref{notebook}), (arg-1 @ref{widget}), (arg-2 @code{integer}) @result{} void. Options: run-last.
2724 @item @anchor{signal.notebook.reorder-tab}"reorder-tab". Signature: (instance @ref{notebook}), (arg-1 @ref{direction-type}), (arg-2 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
2725 @item @anchor{signal.notebook.select-page}"select-page". Signature: (instance @ref{notebook}), (arg-1 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
2726 @item @anchor{signal.notebook.switch-page}"switch-page". Signature: (instance @ref{notebook}), (arg-1 gpointer), (arg-2 @code{integer}) @result{} void. Options: run-last.
2727 @end itemize
2728
2729
2730
2731
2732 @node old-editable
2733 @section old-editable
2734 @Class old-editable
2735 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable} @ref{editable}
2736
2737 Subclasses: @ref{text}
2738
2739 Slots:
2740 @itemize
2741 @item @anchor{slot.old-editable.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.old-editable-editable}@code{old-editable-editable}.
2742 @item @anchor{slot.old-editable.text-position}text-position. Type: @code{integer}. Accessor: @anchor{fn.old-editable-text-position}@code{old-editable-text-position}.
2743 @end itemize
2744
2745
2746 Signals:
2747 @itemize
2748 @item @anchor{signal.old-editable.activate}"activate". Signature: (instance @ref{old-editable}) @result{} void. Options: run-last, action.
2749 @item @anchor{signal.old-editable.copy-clipboard}"copy-clipboard". Signature: (instance @ref{old-editable}) @result{} void. Options: run-last, action.
2750 @item @anchor{signal.old-editable.cut-clipboard}"cut-clipboard". Signature: (instance @ref{old-editable}) @result{} void. Options: run-last, action.
2751 @item @anchor{signal.old-editable.kill-char}"kill-char". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}) @result{} void. Options: run-last, action.
2752 @item @anchor{signal.old-editable.kill-line}"kill-line". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}) @result{} void. Options: run-last, action.
2753 @item @anchor{signal.old-editable.kill-word}"kill-word". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}) @result{} void. Options: run-last, action.
2754 @item @anchor{signal.old-editable.move-cursor}"move-cursor". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}), (arg-2 @code{integer}) @result{} void. Options: run-last, action.
2755 @item @anchor{signal.old-editable.move-page}"move-page". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}), (arg-2 @code{integer}) @result{} void. Options: run-last, action.
2756 @item @anchor{signal.old-editable.move-to-column}"move-to-column". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}) @result{} void. Options: run-last, action.
2757 @item @anchor{signal.old-editable.move-to-row}"move-to-row". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}) @result{} void. Options: run-last, action.
2758 @item @anchor{signal.old-editable.move-word}"move-word". Signature: (instance @ref{old-editable}), (arg-1 @code{integer}) @result{} void. Options: run-last, action.
2759 @item @anchor{signal.old-editable.paste-clipboard}"paste-clipboard". Signature: (instance @ref{old-editable}) @result{} void. Options: run-last, action.
2760 @item @anchor{signal.old-editable.set-editable}"set-editable". Signature: (instance @ref{old-editable}), (arg-1 @code{boolean}) @result{} void. Options: run-last, action.
2761 @end itemize
2762
2763
2764
2765
2766 @node paned
2767 @section paned
2768 @Class paned
2769 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
2770
2771 Subclasses: @ref{v-paned} @ref{h-paned}
2772
2773 Slots:
2774 @itemize
2775 @item @anchor{slot.paned.max-position}max-position. Type: @code{integer}. Accessor: @anchor{fn.paned-max-position}@code{paned-max-position}. Read-only.
2776 @item @anchor{slot.paned.min-position}min-position. Type: @code{integer}. Accessor: @anchor{fn.paned-min-position}@code{paned-min-position}. Read-only.
2777 @item @anchor{slot.paned.position}position. Type: @code{integer}. Accessor: @anchor{fn.paned-position}@code{paned-position}.
2778 @item @anchor{slot.paned.position-set}position-set. Type: @code{boolean}. Accessor: @anchor{fn.paned-position-set}@code{paned-position-set}.
2779 @end itemize
2780
2781
2782 Signals:
2783 @itemize
2784 @item @anchor{signal.paned.accept-position}"accept-position". Signature: (instance @ref{paned}) @result{} @code{boolean}. Options: run-last, action.
2785 @item @anchor{signal.paned.cancel-position}"cancel-position". Signature: (instance @ref{paned}) @result{} @code{boolean}. Options: run-last, action.
2786 @item @anchor{signal.paned.cycle-child-focus}"cycle-child-focus". Signature: (instance @ref{paned}), (arg-1 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
2787 @item @anchor{signal.paned.cycle-handle-focus}"cycle-handle-focus". Signature: (instance @ref{paned}), (arg-1 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
2788 @item @anchor{signal.paned.move-handle}"move-handle". Signature: (instance @ref{paned}), (arg-1 @ref{scroll-type}) @result{} @code{boolean}. Options: run-last, action.
2789 @item @anchor{signal.paned.toggle-handle-focus}"toggle-handle-focus". Signature: (instance @ref{paned}) @result{} @code{boolean}. Options: run-last, action.
2790 @end itemize
2791
2792
2793
2794
2795 @node plug
2796 @section plug
2797 @Class plug
2798 Superclass: @ref{gtk-window} @ref{atk-implementor-iface} @ref{buildable}
2799
2800 Slots:
2801 @itemize
2802 @item @anchor{slot.plug.embedded}embedded. Type: @code{boolean}. Accessor: @anchor{fn.plug-embedded}@code{plug-embedded}. Read-only.
2803 @item @anchor{slot.plug.socket-window}socket-window. Type: @ref{gdk-window}. Accessor: @anchor{fn.plug-socket-window}@code{plug-socket-window}. Read-only.
2804 @end itemize
2805
2806
2807 Signals:
2808 @itemize
2809 @item @anchor{signal.plug.embedded}"embedded". Signature: (instance @ref{plug}) @result{} void. Options: run-last.
2810 @end itemize
2811
2812
2813
2814
2815 @node progress
2816 @section progress
2817 @Class progress
2818 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
2819
2820 Subclasses: @ref{progress-bar}
2821
2822 Slots:
2823 @itemize
2824 @item @anchor{slot.progress.activity-mode}activity-mode. Type: @code{boolean}. Accessor: @anchor{fn.progress-activity-mode}@code{progress-activity-mode}.
2825 @item @anchor{slot.progress.show-text}show-text. Type: @code{boolean}. Accessor: @anchor{fn.progress-show-text}@code{progress-show-text}.
2826 @item @anchor{slot.progress.text-xalign}text-xalign. Type: @code{single-float}. Accessor: @anchor{fn.progress-text-xalign}@code{progress-text-xalign}.
2827 @item @anchor{slot.progress.text-yalign}text-yalign. Type: @code{single-float}. Accessor: @anchor{fn.progress-text-yalign}@code{progress-text-yalign}.
2828 @end itemize
2829
2830
2831 Signals:
2832 @itemize
2833 @end itemize
2834
2835
2836
2837
2838 @node progress-bar
2839 @section progress-bar
2840 @Class progress-bar
2841 Superclass: @ref{progress} @ref{atk-implementor-iface} @ref{buildable}
2842
2843 The @ref{progress-bar} is typically used to display the progress of a long running operation. It provides a visual clue that processing is underway. The @ref{progress-bar} can be used in two different modes: percentage mode and activity  mode.
2844
2845 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 @ref{progress-bar} 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 set @SlotRef{progress-bar,fraction} periodically to update the progress bar.
2846
2847 When an application has no accurate way of knowing the amount of work to do, it can use the @ref{progress-bar} 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 @ref{progress-bar-pulse} perodically to update the progress bar.
2848
2849 There is quite a bit of flexibility provided to control the appearance of the @ref{progress-bar}. 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.
2850
2851 Slots:
2852 @itemize
2853 @item @anchor{slot.progress-bar.activity-blocks}activity-blocks. Type: @code{integer}. Accessor: @anchor{fn.progress-bar-activity-blocks}@code{progress-bar-activity-blocks}.
2854
2855 The number of blocks which can fit in the progress bar area in activity mode (Deprecated).
2856
2857 Allowed values: >= 2
2858
2859 Default value: 5
2860 @item @anchor{slot.progress-bar.activity-step}activity-step. Type: @code{integer}. Accessor: @anchor{fn.progress-bar-activity-step}@code{progress-bar-activity-step}.
2861
2862 The increment used for each iteration in activity mode (Deprecated).
2863
2864 Default value: 3
2865 @item @anchor{slot.progress-bar.adjustment}adjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.progress-bar-adjustment}@code{progress-bar-adjustment}.
2866
2867 The @ref{adjustment} connected to the progress bar (Deprecated
2868 @item @anchor{slot.progress-bar.bar-style}bar-style. Type: @ref{progress-bar-style}. Accessor: @anchor{fn.progress-bar-bar-style}@code{progress-bar-bar-style}.
2869
2870 Specifies the visual style of the bar in percentage mode (Deprecated).
2871
2872 Default value: @EnumVRef{progress-bar-style,continuous}
2873 @item @anchor{slot.progress-bar.discrete-blocks}discrete-blocks. Type: @code{integer}. Accessor: @anchor{fn.progress-bar-discrete-blocks}@code{progress-bar-discrete-blocks}.
2874
2875 The number of discrete blocks in a progress bar (when shown in the discrete style).
2876
2877 Allowed values: >= 2
2878
2879 Default value: 10
2880 @item @anchor{slot.progress-bar.ellipsize}ellipsize. Type: @ref{pango-ellipsize-mode}. Accessor: @anchor{fn.progress-bar-ellipsize}@code{progress-bar-ellipsize}.
2881
2882 The preferred place to ellipsize the string, if the progressbar does not have enough room to display the entire string.
2883
2884 Note that setting this property to a value other than @EnumVRef{pango-ellipsize-mode,none} has the side-effect that the progressbar requests only enough space to display the ellipsis "...". Another means to set a progressbar's width is @SlotRef{widget,width-request}.
2885
2886 Default value: @EnumVRef{pango-ellipsize-mode,none}
2887 @item @anchor{slot.progress-bar.fraction}fraction. Type: @code{double-float}. Accessor: @anchor{fn.progress-bar-fraction}@code{progress-bar-fraction}.
2888
2889 The fraction of total work that has been completed.
2890
2891 Allowed values: [0,1]
2892
2893 Default value: 0
2894 @item @anchor{slot.progress-bar.orientation}orientation. Type: @ref{progress-bar-orientation}. Accessor: @anchor{fn.progress-bar-orientation}@code{progress-bar-orientation}.
2895
2896 Orientation and growth direction of the progress bar.
2897
2898 Default value: @EnumVRef{progress-bar-orientation,left-to-right}
2899 @item @anchor{slot.progress-bar.pulse-step}pulse-step. Type: @code{double-float}. Accessor: @anchor{fn.progress-bar-pulse-step}@code{progress-bar-pulse-step}.
2900
2901 The fraction of total progress to move the bouncing block when pulsed.
2902
2903 Allowed values: [0,1]
2904
2905 Default value: 0.1
2906 @item @anchor{slot.progress-bar.text}text. Type: @code{string}. Accessor: @anchor{fn.progress-bar-text}@code{progress-bar-text}.
2907
2908 Text to be displayed in the progress bar.
2909
2910 Default value: NIL
2911 @end itemize
2912
2913
2914 Signals:
2915 @itemize
2916 @end itemize
2917
2918 @RMethod progress-bar-pulse
2919 @lisp
2920 (progress-bar-pulse progress-bar)
2921 @end lisp
2922
2923 Indicates that some progress is made, but you don't know how much. Causes the progress bar to enter "activity mode," where a block bounces back and forth. Each call to @ref{progress-bar-pulse} causes the block to move by a little bit (the amount of movement per pulse is determined by @SlotRef{progress-bar,pulse-step}).
2924
2925 @node radio-button
2926 @section radio-button
2927 @Class radio-button
2928 Superclass: @ref{check-button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2929
2930 A single radio button performs the same basic function as a @ref{check-button}, as its position in the object hierarchy reflects. It is only when multiple radio buttons are grouped together that they become a different user interface component in their own right.
2931
2932 Every radio button is a member of some group of radio buttons. When one is selected, all other radio buttons in the same group are deselected. A @ref{radio-button} is one way of giving the user a choice from many options.
2933
2934 To group radio buttons into one group, set @SlotRef{radio-button,group} to one of the radio buttons of the group.
2935
2936 Slots:
2937 @itemize
2938 @item @anchor{slot.radio-button.group}group. Type: @ref{radio-button}. Accessor: @anchor{fn.radio-button-group}@code{radio-button-group}. Write-only.
2939
2940 A button of the radio button group that this radio button belongs to
2941 @end itemize
2942
2943
2944 Signals:
2945 @itemize
2946 @item @anchor{signal.radio-button.group-changed}"group-changed". Signature: (instance @ref{radio-button}) @result{} void. Options: run-first.
2947
2948 Emitted when the group of radio buttons that a radio button belongs to changes. This is emitted when a radio button switches from being alone to being part of a group of 2 or more buttons, or vice-versa, and when a button is moved from one group of 2 or more buttons to a different one, but not when the composition of the group that a button belongs to changes.
2949 @end itemize
2950
2951
2952
2953
2954 @node radio-menu-item
2955 @section radio-menu-item
2956 @Class radio-menu-item
2957 Superclass: @ref{check-menu-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2958
2959 Slots:
2960 @itemize
2961 @item @anchor{slot.radio-menu-item.group}group. Type: @ref{radio-menu-item}. Accessor: @anchor{fn.radio-menu-item-group}@code{radio-menu-item-group}. Write-only.
2962 @end itemize
2963
2964
2965 Signals:
2966 @itemize
2967 @item @anchor{signal.radio-menu-item.group-changed}"group-changed". Signature: (instance @ref{radio-menu-item}) @result{} void. Options: run-first.
2968 @end itemize
2969
2970
2971
2972
2973 @node radio-tool-button
2974 @section radio-tool-button
2975 @Class radio-tool-button
2976 Superclass: @ref{toggle-tool-button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
2977
2978 Slots:
2979 @itemize
2980 @item @anchor{slot.radio-tool-button.group}group. Type: @ref{radio-tool-button}. Accessor: @anchor{fn.radio-tool-button-group}@code{radio-tool-button-group}. Write-only.
2981 @end itemize
2982
2983
2984 Signals:
2985 @itemize
2986 @end itemize
2987
2988
2989
2990
2991 @node range
2992 @section range
2993 @Class range
2994 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
2995
2996 Subclasses: @ref{scrollbar} @ref{scale}
2997
2998 Slots:
2999 @itemize
3000 @item @anchor{slot.range.adjustment}adjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.range-adjustment}@code{range-adjustment}.
3001 @item @anchor{slot.range.fill-level}fill-level. Type: @code{double-float}. Accessor: @anchor{fn.range-fill-level}@code{range-fill-level}.
3002 @item @anchor{slot.range.inverted}inverted. Type: @code{boolean}. Accessor: @anchor{fn.range-inverted}@code{range-inverted}.
3003 @item @anchor{slot.range.lower-stepper-sensitivity}lower-stepper-sensitivity. Type: @ref{sensitivity-type}. Accessor: @anchor{fn.range-lower-stepper-sensitivity}@code{range-lower-stepper-sensitivity}.
3004 @item @anchor{slot.range.restrict-to-fill-level}restrict-to-fill-level. Type: @code{boolean}. Accessor: @anchor{fn.range-restrict-to-fill-level}@code{range-restrict-to-fill-level}.
3005 @item @anchor{slot.range.show-fill-level}show-fill-level. Type: @code{boolean}. Accessor: @anchor{fn.range-show-fill-level}@code{range-show-fill-level}.
3006 @item @anchor{slot.range.update-policy}update-policy. Type: @ref{update-type}. Accessor: @anchor{fn.range-update-policy}@code{range-update-policy}.
3007 @item @anchor{slot.range.upper-stepper-sensitivity}upper-stepper-sensitivity. Type: @ref{sensitivity-type}. Accessor: @anchor{fn.range-upper-stepper-sensitivity}@code{range-upper-stepper-sensitivity}.
3008 @end itemize
3009
3010
3011 Signals:
3012 @itemize
3013 @item @anchor{signal.range.adjust-bounds}"adjust-bounds". Signature: (instance @ref{range}), (arg-1 @code{double-float}) @result{} void. Options: run-last.
3014 @item @anchor{signal.range.change-value}"change-value". Signature: (instance @ref{range}), (arg-1 @ref{scroll-type}), (arg-2 @code{double-float}) @result{} @code{boolean}. Options: run-last.
3015 @item @anchor{signal.range.move-slider}"move-slider". Signature: (instance @ref{range}), (arg-1 @ref{scroll-type}) @result{} void. Options: run-last, action.
3016 @item @anchor{signal.range.value-changed}"value-changed". Signature: (instance @ref{range}) @result{} void. Options: run-last.
3017 @end itemize
3018
3019
3020
3021
3022 @node recent-chooser-dialog
3023 @section recent-chooser-dialog
3024 @Class recent-chooser-dialog
3025 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable} @ref{recent-chooser}
3026
3027 Slots:
3028 @itemize
3029 @end itemize
3030
3031
3032 Signals:
3033 @itemize
3034 @end itemize
3035
3036
3037
3038
3039 @node recent-chooser-menu
3040 @section recent-chooser-menu
3041 @Class recent-chooser-menu
3042 Superclass: @ref{menu} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable} @ref{recent-chooser}
3043
3044 Slots:
3045 @itemize
3046 @item @anchor{slot.recent-chooser-menu.show-numbers}show-numbers. Type: @code{boolean}. Accessor: @anchor{fn.recent-chooser-menu-show-numbers}@code{recent-chooser-menu-show-numbers}.
3047 @end itemize
3048
3049
3050 Signals:
3051 @itemize
3052 @end itemize
3053
3054
3055
3056
3057 @node recent-chooser-widget
3058 @section recent-chooser-widget
3059 @Class recent-chooser-widget
3060 Superclass: @ref{v-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable} @ref{recent-chooser}
3061
3062 Slots:
3063 @itemize
3064 @end itemize
3065
3066
3067 Signals:
3068 @itemize
3069 @end itemize
3070
3071
3072
3073
3074 @node ruler
3075 @section ruler
3076 @Class ruler
3077 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3078
3079 Subclasses: @ref{v-ruler} @ref{h-ruler}
3080
3081 Slots:
3082 @itemize
3083 @item @anchor{slot.ruler.lower}lower. Type: @code{double-float}. Accessor: @anchor{fn.ruler-lower}@code{ruler-lower}.
3084 @item @anchor{slot.ruler.max-size}max-size. Type: @code{double-float}. Accessor: @anchor{fn.ruler-max-size}@code{ruler-max-size}.
3085 @item @anchor{slot.ruler.metric}metric. Type: @ref{metric-type}. Accessor: @anchor{fn.ruler-metric}@code{ruler-metric}.
3086 @item @anchor{slot.ruler.position}position. Type: @code{double-float}. Accessor: @anchor{fn.ruler-position}@code{ruler-position}.
3087 @item @anchor{slot.ruler.upper}upper. Type: @code{double-float}. Accessor: @anchor{fn.ruler-upper}@code{ruler-upper}.
3088 @end itemize
3089
3090
3091 Signals:
3092 @itemize
3093 @end itemize
3094
3095
3096
3097
3098 @node scale
3099 @section scale
3100 @Class scale
3101 Superclass: @ref{range} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3102
3103 Subclasses: @ref{v-scale} @ref{h-scale}
3104
3105 Slots:
3106 @itemize
3107 @item @anchor{slot.scale.digits}digits. Type: @code{integer}. Accessor: @anchor{fn.scale-digits}@code{scale-digits}.
3108 @item @anchor{slot.scale.draw-value}draw-value. Type: @code{boolean}. Accessor: @anchor{fn.scale-draw-value}@code{scale-draw-value}.
3109 @item @anchor{slot.scale.value-pos}value-pos. Type: @ref{position-type}. Accessor: @anchor{fn.scale-value-pos}@code{scale-value-pos}.
3110 @end itemize
3111
3112
3113 Signals:
3114 @itemize
3115 @item @anchor{signal.scale.format-value}"format-value". Signature: (instance @ref{scale}), (arg-1 @code{double-float}) @result{} @code{string}. Options: run-last.
3116 @end itemize
3117
3118
3119
3120
3121 @node scale-button
3122 @section scale-button
3123 @Class scale-button
3124 Superclass: @ref{button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable} @ref{orientable}
3125
3126 Subclasses: @ref{volume-button}
3127
3128 @ref{scale-button} provides a button which pops up a scale widget. This kind of widget is commonly used for volume controls in multimedia applications, and GTK+ provides a @ref{volume-button} subclass that is tailored for this use case.
3129
3130 Slots:
3131 @itemize
3132 @item @anchor{slot.scale-button.adjustment}adjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.scale-button-adjustment}@code{scale-button-adjustment}.
3133
3134 The @ref{adjustment} that contains the current value of this scale button object.
3135 @item @anchor{slot.scale-button.icons}icons. Type: list of @code{string}. Accessor: @anchor{fn.scale-button-icons}@code{scale-button-icons}.
3136
3137 The names of the icons to be used by the scale button. The first item in the list will be used in the button when the current value is the lowest value, the second item for the highest value. All the subsequent icons will be used for all the other values, spread evenly over the range of values.
3138
3139 If there's only one icon name in the icons array, it will be used for all the values. If only two icon names are in the icons array, the first one will be used for the bottom 50% of the scale, and the second one for the top 50%.
3140
3141 It is recommended to use at least 3 icons so that the @ref{scale-button} reflects the current value of the scale better for the users.
3142 @item @anchor{slot.scale-button.size}size. Type: @ref{icon-size}. Accessor: @anchor{fn.scale-button-size}@code{scale-button-size}.
3143
3144 The icon size.
3145
3146 Default value: @EnumVRef{icon-size,small-toolbar}
3147 @item @anchor{slot.scale-button.value}value. Type: @code{double-float}. Accessor: @anchor{fn.scale-button-value}@code{scale-button-value}.
3148
3149 The value of the scale.
3150
3151 Default value: 0
3152 @end itemize
3153
3154
3155 Signals:
3156 @itemize
3157 @item @anchor{signal.scale-button.popdown}"popdown". Signature: (instance @ref{scale-button}) @result{} void. Options: run-last, action.
3158
3159 This signal is a keybinding signal which gets emitted to popdown the scale widget.
3160
3161 The default binding for this signal is Escape.
3162 @item @anchor{signal.scale-button.popup}"popup". Signature: (instance @ref{scale-button}) @result{} void. Options: run-last, action.
3163
3164 This signal is a keybinding signal which gets emitted to popup the scale widget.
3165
3166 The default bindings for this signal are Space, Enter and Return.
3167 @item @anchor{signal.scale-button.value-changed}"value-changed". Signature: (instance @ref{scale-button}), (arg-1 @code{double-float}) @result{} void. Options: run-last.
3168
3169 This signal is emitted when the value field has changed.
3170 @end itemize
3171
3172
3173
3174
3175 @node scrollbar
3176 @section scrollbar
3177 @Class scrollbar
3178 Superclass: @ref{range} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3179
3180 Subclasses: @ref{v-scrollbar} @ref{h-scrollbar}
3181
3182 Slots:
3183 @itemize
3184 @end itemize
3185
3186
3187 Signals:
3188 @itemize
3189 @end itemize
3190
3191
3192
3193
3194 @node scrolled-window
3195 @section scrolled-window
3196 @Class scrolled-window
3197 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
3198
3199 Slots:
3200 @itemize
3201 @item @anchor{slot.scrolled-window.hadjustment}hadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.scrolled-window-hadjustment}@code{scrolled-window-hadjustment}.
3202 @item @anchor{slot.scrolled-window.hscrollbar-policy}hscrollbar-policy. Type: @ref{policy-type}. Accessor: @anchor{fn.scrolled-window-hscrollbar-policy}@code{scrolled-window-hscrollbar-policy}.
3203 @item @anchor{slot.scrolled-window.shadow-type}shadow-type. Type: @ref{shadow-type}. Accessor: @anchor{fn.scrolled-window-shadow-type}@code{scrolled-window-shadow-type}.
3204 @item @anchor{slot.scrolled-window.vadjustment}vadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.scrolled-window-vadjustment}@code{scrolled-window-vadjustment}.
3205 @item @anchor{slot.scrolled-window.vscrollbar-policy}vscrollbar-policy. Type: @ref{policy-type}. Accessor: @anchor{fn.scrolled-window-vscrollbar-policy}@code{scrolled-window-vscrollbar-policy}.
3206 @item @anchor{slot.scrolled-window.window-placement}window-placement. Type: @ref{corner-type}. Accessor: @anchor{fn.scrolled-window-window-placement}@code{scrolled-window-window-placement}.
3207 @item @anchor{slot.scrolled-window.window-placement-set}window-placement-set. Type: @code{boolean}. Accessor: @anchor{fn.scrolled-window-window-placement-set}@code{scrolled-window-window-placement-set}.
3208 @end itemize
3209
3210
3211 Signals:
3212 @itemize
3213 @item @anchor{signal.scrolled-window.move-focus-out}"move-focus-out". Signature: (instance @ref{scrolled-window}), (arg-1 @ref{direction-type}) @result{} void. Options: run-last, action.
3214 @item @anchor{signal.scrolled-window.scroll-child}"scroll-child". Signature: (instance @ref{scrolled-window}), (arg-1 @ref{scroll-type}), (arg-2 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
3215 @end itemize
3216
3217
3218
3219
3220 @node separator
3221 @section separator
3222 @Class separator
3223 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3224
3225 Subclasses: @ref{v-separator} @ref{h-separator}
3226
3227 Slots:
3228 @itemize
3229 @end itemize
3230
3231
3232 Signals:
3233 @itemize
3234 @end itemize
3235
3236
3237
3238
3239 @node separator-menu-item
3240 @section separator-menu-item
3241 @Class separator-menu-item
3242 Superclass: @ref{menu-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3243
3244 Slots:
3245 @itemize
3246 @end itemize
3247
3248
3249 Signals:
3250 @itemize
3251 @end itemize
3252
3253
3254
3255
3256 @node separator-tool-item
3257 @section separator-tool-item
3258 @Class separator-tool-item
3259 Superclass: @ref{tool-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3260
3261 Slots:
3262 @itemize
3263 @item @anchor{slot.separator-tool-item.draw}draw. Type: @code{boolean}. Accessor: @anchor{fn.separator-tool-item-draw}@code{separator-tool-item-draw}.
3264 @end itemize
3265
3266
3267 Signals:
3268 @itemize
3269 @end itemize
3270
3271
3272
3273
3274 @node socket
3275 @section socket
3276 @Class socket
3277 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
3278
3279 Slots:
3280 @itemize
3281 @end itemize
3282
3283
3284 Signals:
3285 @itemize
3286 @item @anchor{signal.socket.plug-added}"plug-added". Signature: (instance @ref{socket}) @result{} void. Options: run-last.
3287 @item @anchor{signal.socket.plug-removed}"plug-removed". Signature: (instance @ref{socket}) @result{} @code{boolean}. Options: run-last.
3288 @end itemize
3289
3290
3291
3292
3293 @node spin-button
3294 @section spin-button
3295 @Class spin-button
3296 Superclass: @ref{entry} @ref{atk-implementor-iface} @ref{buildable} @ref{cell-editable} @ref{editable}
3297
3298 Slots:
3299 @itemize
3300 @item @anchor{slot.spin-button.adjustment}adjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.spin-button-adjustment}@code{spin-button-adjustment}.
3301 @item @anchor{slot.spin-button.climb-rate}climb-rate. Type: @code{double-float}. Accessor: @anchor{fn.spin-button-climb-rate}@code{spin-button-climb-rate}.
3302 @item @anchor{slot.spin-button.digits}digits. Type: @code{integer}. Accessor: @anchor{fn.spin-button-digits}@code{spin-button-digits}.
3303 @item @anchor{slot.spin-button.numeric}numeric. Type: @code{boolean}. Accessor: @anchor{fn.spin-button-numeric}@code{spin-button-numeric}.
3304 @item @anchor{slot.spin-button.snap-to-ticks}snap-to-ticks. Type: @code{boolean}. Accessor: @anchor{fn.spin-button-snap-to-ticks}@code{spin-button-snap-to-ticks}.
3305 @item @anchor{slot.spin-button.update-policy}update-policy. Type: @ref{spin-button-update-policy}. Accessor: @anchor{fn.spin-button-update-policy}@code{spin-button-update-policy}.
3306 @item @anchor{slot.spin-button.value}value. Type: @code{double-float}. Accessor: @anchor{fn.spin-button-value}@code{spin-button-value}.
3307 @item @anchor{slot.spin-button.wrap}wrap. Type: @code{boolean}. Accessor: @anchor{fn.spin-button-wrap}@code{spin-button-wrap}.
3308 @end itemize
3309
3310
3311 Signals:
3312 @itemize
3313 @item @anchor{signal.spin-button.change-value}"change-value". Signature: (instance @ref{spin-button}), (arg-1 @ref{scroll-type}) @result{} void. Options: run-last, action.
3314 @item @anchor{signal.spin-button.input}"input". Signature: (instance @ref{spin-button}), (arg-1 gpointer) @result{} @code{integer}. Options: run-last.
3315 @item @anchor{signal.spin-button.output}"output". Signature: (instance @ref{spin-button}) @result{} @code{boolean}. Options: run-last.
3316 @item @anchor{signal.spin-button.value-changed}"value-changed". Signature: (instance @ref{spin-button}) @result{} void. Options: run-last.
3317 @item @anchor{signal.spin-button.wrapped}"wrapped". Signature: (instance @ref{spin-button}) @result{} void. Options: run-last.
3318 @end itemize
3319
3320
3321
3322
3323 @node statusbar
3324 @section statusbar
3325 @Class statusbar
3326 Superclass: @ref{h-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3327
3328 A @ref{statusbar} is usually placed along the bottom of an application's main @ref{gtk-window}. It may provide a regular commentary of the application's status (as is usually the case in a web browser, for example), or may be used to simply output a message when the status changes, (when an upload is complete in an FTP client, for example). It may also have a resize grip (a triangular area in the lower right corner) which can be clicked on to resize the window containing the statusbar.
3329
3330 Status bars in GTK+ maintain a stack of messages. The message at the top of the each bar's stack is the one that will currently be displayed.
3331
3332 Any messages added to a statusbar's stack must specify a context id that is used to uniquely identify the source of a message. Context ids may be specified by context descriptions (as string) or by numeric identifiers obtained by @ref{statusbar-context-id}. Note that messages are stored in a stack, and when choosing which message to display, the stack structure is adhered to, regardless of the context description of a message.
3333
3334 One could say that a statusbar maintains one stack of messages for display purposes, but allows multiple message producers to maintain sub-stacks of the messages they produced (via context descriptions).
3335
3336 Messages are added to the bar's stack with @ref{statusbar-push}.
3337
3338 The message at the top of the stack can be removed using @ref{statusbar-pop}. A message can be removed from anywhere in the stack if its @var{message-id} was recorded at the time it was added. This is done using @ref{statusbar-remove}.
3339
3340 Slots:
3341 @itemize
3342 @item @anchor{slot.statusbar.has-resize-grip}has-resize-grip. Type: @code{boolean}. Accessor: @anchor{fn.statusbar-has-resize-grip}@code{statusbar-has-resize-grip}.
3343
3344 Whether the statusbar has a grip for resizing the toplevel window.
3345
3346 Default value: True
3347 @end itemize
3348
3349
3350 Signals:
3351 @itemize
3352 @item @anchor{signal.statusbar.text-popped}"text-popped". Signature: (instance @ref{statusbar}), (context-id @code{integer}), (text @code{string}) @result{} void. Options: run-last.
3353
3354 Is emitted whenever a new message is popped off a statusbar's stack.
3355
3356 @var{context-id} is a numeric identifier of a context.
3357 @item @anchor{signal.statusbar.text-pushed}"text-pushed". Signature: (instance @ref{statusbar}), (context-id @code{integer}), (text @code{string}) @result{} void. Options: run-last.
3358
3359 Is emitted whenever a new message gets pushed onto a statusbar's stack.
3360
3361 @var{context-id} is a numeric identifier of a context.
3362 @end itemize
3363
3364 @RMethod statusbar-context-id
3365 @lisp
3366 (statusbar-context-id statusbar context-description) @result{} context-id
3367 @end lisp
3368
3369 Returns a context identifier, given a description of the actual context. Note that the description is not shown in the UI.
3370
3371 @var{context-description} is a string - textual description of what context the new message is being used in
3372
3373 @RMethod statusbar-push
3374 @lisp
3375 (statusbar-push statusbar context text) @result{} message-id
3376 @end lisp
3377
3378 Pushes a new message onto a statusbar's stack.
3379
3380 @var{context}: a string (context description) or a number obtained by @ref{statusbar-context-id}
3381
3382 @var{text}: the message to add to the statusbar
3383
3384 @var{message-id}: a message id that can be used with @ref{statusbar-remove}.
3385
3386 @RMethod statusbar-pop
3387 @lisp
3388 (statusbar-pop statusbar context)
3389 @end lisp
3390
3391 Removes the first message in the @ref{statusbar}'s stack with the given context.
3392
3393 Note that this may not change the displayed message, if the message at the top of the stack has a different context.
3394
3395 @var{context}: a string (context description) or a number obtained by @ref{statusbar-context-id}
3396
3397 @RMethod statusbar-remove
3398 @lisp
3399 (statusbar-remove statusbar context message-id)
3400 @end lisp
3401
3402 Forces the removal of a message from a statusbar's stack. The exact @var{context} and @var{message-id} must be specified.
3403
3404 @var{context}: a string (context description) or a number obtained by @ref{statusbar-context-id}
3405
3406 @var{message-id}: a message identifier returned by @ref{statusbar-push}
3407
3408 @node table
3409 @section table
3410 @Class table
3411 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
3412
3413 Slots:
3414 @itemize
3415 @item @anchor{slot.table.column-spacing}column-spacing. Type: @code{integer}. Accessor: @anchor{fn.table-column-spacing}@code{table-column-spacing}.
3416 @item @anchor{slot.table.homogeneous}homogeneous. Type: @code{boolean}. Accessor: @anchor{fn.table-homogeneous}@code{table-homogeneous}.
3417 @item @anchor{slot.table.n-columns}n-columns. Type: @code{integer}. Accessor: @anchor{fn.table-n-columns}@code{table-n-columns}.
3418 @item @anchor{slot.table.n-rows}n-rows. Type: @code{integer}. Accessor: @anchor{fn.table-n-rows}@code{table-n-rows}.
3419 @item @anchor{slot.table.row-spacing}row-spacing. Type: @code{integer}. Accessor: @anchor{fn.table-row-spacing}@code{table-row-spacing}.
3420 @end itemize
3421
3422
3423 Signals:
3424 @itemize
3425 @end itemize
3426
3427
3428
3429
3430 @node tearoff-menu-item
3431 @section tearoff-menu-item
3432 @Class tearoff-menu-item
3433 Superclass: @ref{menu-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3434
3435 Slots:
3436 @itemize
3437 @end itemize
3438
3439
3440 Signals:
3441 @itemize
3442 @end itemize
3443
3444
3445
3446
3447 @node text
3448 @section text
3449 @Class text
3450 Superclass: @ref{old-editable} @ref{atk-implementor-iface} @ref{buildable} @ref{editable}
3451
3452 Slots:
3453 @itemize
3454 @item @anchor{slot.text.hadjustment}hadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.text-hadjustment}@code{text-hadjustment}.
3455 @item @anchor{slot.text.line-wrap}line-wrap. Type: @code{boolean}. Accessor: @anchor{fn.text-line-wrap}@code{text-line-wrap}.
3456 @item @anchor{slot.text.vadjustment}vadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.text-vadjustment}@code{text-vadjustment}.
3457 @item @anchor{slot.text.word-wrap}word-wrap. Type: @code{boolean}. Accessor: @anchor{fn.text-word-wrap}@code{text-word-wrap}.
3458 @end itemize
3459
3460
3461 Signals:
3462 @itemize
3463 @item @anchor{signal.text.set-scroll-adjustments}"set-scroll-adjustments". Signature: (instance @ref{text}), (arg-1 @ref{adjustment}), (arg-2 @ref{adjustment}) @result{} void. Options: run-last.
3464 @end itemize
3465
3466
3467
3468
3469 @node text-view
3470 @section text-view
3471 @Class text-view
3472 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
3473
3474 Slots:
3475 @itemize
3476 @item @anchor{slot.text-view.accepts-tab}accepts-tab. Type: @code{boolean}. Accessor: @anchor{fn.text-view-accepts-tab}@code{text-view-accepts-tab}.
3477 @item @anchor{slot.text-view.buffer}buffer. Type: @ref{text-buffer}. Accessor: @anchor{fn.text-view-buffer}@code{text-view-buffer}.
3478 @item @anchor{slot.text-view.cursor-visible}cursor-visible. Type: @code{boolean}. Accessor: @anchor{fn.text-view-cursor-visible}@code{text-view-cursor-visible}.
3479 @item @anchor{slot.text-view.editable}editable. Type: @code{boolean}. Accessor: @anchor{fn.text-view-editable}@code{text-view-editable}.
3480 @item @anchor{slot.text-view.im-module}im-module. Type: @code{string}. Accessor: @anchor{fn.text-view-im-module}@code{text-view-im-module}.
3481 @item @anchor{slot.text-view.indent}indent. Type: @code{integer}. Accessor: @anchor{fn.text-view-indent}@code{text-view-indent}.
3482 @item @anchor{slot.text-view.justification}justification. Type: @ref{justification}. Accessor: @anchor{fn.text-view-justification}@code{text-view-justification}.
3483 @item @anchor{slot.text-view.left-margin}left-margin. Type: @code{integer}. Accessor: @anchor{fn.text-view-left-margin}@code{text-view-left-margin}.
3484 @item @anchor{slot.text-view.overwrite}overwrite. Type: @code{boolean}. Accessor: @anchor{fn.text-view-overwrite}@code{text-view-overwrite}.
3485 @item @anchor{slot.text-view.pixels-above-lines}pixels-above-lines. Type: @code{integer}. Accessor: @anchor{fn.text-view-pixels-above-lines}@code{text-view-pixels-above-lines}.
3486 @item @anchor{slot.text-view.pixels-below-lines}pixels-below-lines. Type: @code{integer}. Accessor: @anchor{fn.text-view-pixels-below-lines}@code{text-view-pixels-below-lines}.
3487 @item @anchor{slot.text-view.pixels-inside-wrap}pixels-inside-wrap. Type: @code{integer}. Accessor: @anchor{fn.text-view-pixels-inside-wrap}@code{text-view-pixels-inside-wrap}.
3488 @item @anchor{slot.text-view.right-margin}right-margin. Type: @code{integer}. Accessor: @anchor{fn.text-view-right-margin}@code{text-view-right-margin}.
3489 @item @anchor{slot.text-view.tabs}tabs. Type: @code{PangoTabArray}. Accessor: @anchor{fn.text-view-tabs}@code{text-view-tabs}.
3490 @item @anchor{slot.text-view.wrap-mode}wrap-mode. Type: @ref{wrap-mode}. Accessor: @anchor{fn.text-view-wrap-mode}@code{text-view-wrap-mode}.
3491 @end itemize
3492
3493
3494 Signals:
3495 @itemize
3496 @item @anchor{signal.text-view.backspace}"backspace". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3497 @item @anchor{signal.text-view.copy-clipboard}"copy-clipboard". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3498 @item @anchor{signal.text-view.cut-clipboard}"cut-clipboard". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3499 @item @anchor{signal.text-view.delete-from-cursor}"delete-from-cursor". Signature: (instance @ref{text-view}), (arg-1 @ref{delete-type}), (arg-2 @code{integer}) @result{} void. Options: run-last, action.
3500 @item @anchor{signal.text-view.insert-at-cursor}"insert-at-cursor". Signature: (instance @ref{text-view}), (arg-1 @code{string}) @result{} void. Options: run-last, action.
3501 @item @anchor{signal.text-view.move-cursor}"move-cursor". Signature: (instance @ref{text-view}), (arg-1 @ref{movement-step}), (arg-2 @code{integer}), (arg-3 @code{boolean}) @result{} void. Options: run-last, action.
3502 @item @anchor{signal.text-view.move-viewport}"move-viewport". Signature: (instance @ref{text-view}), (arg-1 @ref{scroll-step}), (arg-2 @code{integer}) @result{} void. Options: run-last, action.
3503 @item @anchor{signal.text-view.page-horizontally}"page-horizontally". Signature: (instance @ref{text-view}), (arg-1 @code{integer}), (arg-2 @code{boolean}) @result{} void. Options: run-last, action.
3504 @item @anchor{signal.text-view.paste-clipboard}"paste-clipboard". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3505 @item @anchor{signal.text-view.populate-popup}"populate-popup". Signature: (instance @ref{text-view}), (arg-1 @ref{menu}) @result{} void. Options: run-last.
3506 @item @anchor{signal.text-view.select-all}"select-all". Signature: (instance @ref{text-view}), (arg-1 @code{boolean}) @result{} void. Options: run-last, action.
3507 @item @anchor{signal.text-view.set-anchor}"set-anchor". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3508 @item @anchor{signal.text-view.set-scroll-adjustments}"set-scroll-adjustments". Signature: (instance @ref{text-view}), (arg-1 @ref{adjustment}), (arg-2 @ref{adjustment}) @result{} void. Options: run-last, action.
3509 @item @anchor{signal.text-view.toggle-cursor-visible}"toggle-cursor-visible". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3510 @item @anchor{signal.text-view.toggle-overwrite}"toggle-overwrite". Signature: (instance @ref{text-view}) @result{} void. Options: run-last, action.
3511 @end itemize
3512
3513
3514
3515
3516 @node toggle-button
3517 @section toggle-button
3518 @Class toggle-button
3519 Superclass: @ref{button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3520
3521 Subclasses: @ref{check-button}
3522
3523 A @ref{toggle-button} is a @ref{button} which will remain 'pressed-in' when clicked. Clicking again will cause the toggle button to return to its normal state.
3524
3525 The state of a @ref{toggle-button} is stored in @SlotRef{toggle-button,active} and @SlotRef{toggle-button,inconsistent}.
3526
3527 Slots:
3528 @itemize
3529 @item @anchor{slot.toggle-button.active}active. Type: @code{boolean}. Accessor: @anchor{fn.toggle-button-active}@code{toggle-button-active}.
3530
3531 If the toggle button should be pressed in or not.
3532
3533 Default value: False
3534 @item @anchor{slot.toggle-button.draw-indicator}draw-indicator. Type: @code{boolean}. Accessor: @anchor{fn.toggle-button-draw-indicator}@code{toggle-button-draw-indicator}.
3535
3536 If the toggle part of the button is displayed.
3537
3538 Default value: False
3539 @item @anchor{slot.toggle-button.inconsistent}inconsistent. Type: @code{boolean}. Accessor: @anchor{fn.toggle-button-inconsistent}@code{toggle-button-inconsistent}.
3540
3541 If the toggle button is in an "in between" state.
3542
3543 Default value: False
3544 @end itemize
3545
3546
3547 Signals:
3548 @itemize
3549 @item @anchor{signal.toggle-button.toggled}"toggled". Signature: (instance @ref{toggle-button}) @result{} void. Options: run-first.
3550
3551 Should be connected if you wish to perform an action whenever the @ref{toggle-button}'s state is changed.
3552 @end itemize
3553
3554
3555
3556
3557 @node toggle-tool-button
3558 @section toggle-tool-button
3559 @Class toggle-tool-button
3560 Superclass: @ref{tool-button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3561
3562 Subclasses: @ref{radio-tool-button}
3563
3564 Slots:
3565 @itemize
3566 @item @anchor{slot.toggle-tool-button.active}active. Type: @code{boolean}. Accessor: @anchor{fn.toggle-tool-button-active}@code{toggle-tool-button-active}.
3567 @end itemize
3568
3569
3570 Signals:
3571 @itemize
3572 @item @anchor{signal.toggle-tool-button.toggled}"toggled". Signature: (instance @ref{toggle-tool-button}) @result{} void. Options: run-first.
3573 @end itemize
3574
3575
3576
3577
3578 @node tool-button
3579 @section tool-button
3580 @Class tool-button
3581 Superclass: @ref{tool-item} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3582
3583 Subclasses: @ref{toggle-tool-button} @ref{menu-tool-button}
3584
3585 Slots:
3586 @itemize
3587 @item @anchor{slot.tool-button.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.tool-button-icon-name}@code{tool-button-icon-name}.
3588 @item @anchor{slot.tool-button.icon-widget}icon-widget. Type: @ref{widget}. Accessor: @anchor{fn.tool-button-icon-widget}@code{tool-button-icon-widget}.
3589 @item @anchor{slot.tool-button.label}label. Type: @code{string}. Accessor: @anchor{fn.tool-button-label}@code{tool-button-label}.
3590 @item @anchor{slot.tool-button.label-widget}label-widget. Type: @ref{widget}. Accessor: @anchor{fn.tool-button-label-widget}@code{tool-button-label-widget}.
3591 @item @anchor{slot.tool-button.stock-id}stock-id. Type: @code{string}. Accessor: @anchor{fn.tool-button-stock-id}@code{tool-button-stock-id}.
3592 @item @anchor{slot.tool-button.use-underline}use-underline. Type: @code{boolean}. Accessor: @anchor{fn.tool-button-use-underline}@code{tool-button-use-underline}.
3593 @end itemize
3594
3595
3596 Signals:
3597 @itemize
3598 @item @anchor{signal.tool-button.clicked}"clicked". Signature: (instance @ref{tool-button}) @result{} void. Options: run-first, action.
3599 @end itemize
3600
3601
3602
3603
3604 @node tool-item
3605 @section tool-item
3606 @Class tool-item
3607 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable}
3608
3609 Subclasses: @ref{separator-tool-item} @ref{tool-button}
3610
3611 Slots:
3612 @itemize
3613 @item @anchor{slot.tool-item.expand}expand. Type: @code{boolean}. Accessor: @anchor{fn.tool-item-expand}@code{tool-item-expand}.
3614 @item @anchor{slot.tool-item.icon-size}icon-size. Type: @ref{icon-size}. Accessor: @anchor{fn.tool-item-icon-size}@code{tool-item-icon-size}. Read-only.
3615 @item @anchor{slot.tool-item.is-important}is-important. Type: @code{boolean}. Accessor: @anchor{fn.tool-item-is-important}@code{tool-item-is-important}.
3616 @item @anchor{slot.tool-item.orientation}orientation. Type: @ref{orientation}. Accessor: @anchor{fn.tool-item-orientation}@code{tool-item-orientation}. Read-only.
3617 @item @anchor{slot.tool-item.relief-style}relief-style. Type: @ref{relief-style}. Accessor: @anchor{fn.tool-item-relief-style}@code{tool-item-relief-style}. Read-only.
3618 @item @anchor{slot.tool-item.toolbar-style}toolbar-style. Type: @ref{toolbar-style}. Accessor: @anchor{fn.tool-item-toolbar-style}@code{tool-item-toolbar-style}. Read-only.
3619 @item @anchor{slot.tool-item.use-drag-window}use-drag-window. Type: @code{boolean}. Accessor: @anchor{fn.tool-item-use-drag-window}@code{tool-item-use-drag-window}.
3620 @item @anchor{slot.tool-item.visible-horizontal}visible-horizontal. Type: @code{boolean}. Accessor: @anchor{fn.tool-item-visible-horizontal}@code{tool-item-visible-horizontal}.
3621 @item @anchor{slot.tool-item.visible-vertical}visible-vertical. Type: @code{boolean}. Accessor: @anchor{fn.tool-item-visible-vertical}@code{tool-item-visible-vertical}.
3622 @end itemize
3623
3624
3625 Signals:
3626 @itemize
3627 @item @anchor{signal.tool-item.create-menu-proxy}"create-menu-proxy". Signature: (instance @ref{tool-item}) @result{} @code{boolean}. Options: run-last.
3628 @item @anchor{signal.tool-item.set-tooltip}"set-tooltip". Signature: (instance @ref{tool-item}), (arg-1 @ref{tooltips}), (arg-2 @code{string}), (arg-3 @code{string}) @result{} @code{boolean}. Options: run-last.
3629 @item @anchor{signal.tool-item.toolbar-reconfigured}"toolbar-reconfigured". Signature: (instance @ref{tool-item}) @result{} void. Options: run-last.
3630 @end itemize
3631
3632
3633
3634
3635 @node toolbar
3636 @section toolbar
3637 @Class toolbar
3638 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable} @ref{tool-shell}
3639
3640 Slots:
3641 @itemize
3642 @item @anchor{slot.toolbar.icon-size}icon-size. Type: @code{integer}. Accessor: @anchor{fn.toolbar-icon-size}@code{toolbar-icon-size}.
3643 @item @anchor{slot.toolbar.icon-size-set}icon-size-set. Type: @code{boolean}. Accessor: @anchor{fn.toolbar-icon-size-set}@code{toolbar-icon-size-set}.
3644 @item @anchor{slot.toolbar.show-arrow}show-arrow. Type: @code{boolean}. Accessor: @anchor{fn.toolbar-show-arrow}@code{toolbar-show-arrow}.
3645 @item @anchor{slot.toolbar.toolbar-style}toolbar-style. Type: @ref{toolbar-style}. Accessor: @anchor{fn.toolbar-toolbar-style}@code{toolbar-toolbar-style}.
3646 @item @anchor{slot.toolbar.tooltips}tooltips. Type: @code{boolean}. Accessor: @anchor{fn.toolbar-tooltips}@code{toolbar-tooltips}.
3647 @end itemize
3648
3649
3650 Signals:
3651 @itemize
3652 @item @anchor{signal.toolbar.focus-home-or-end}"focus-home-or-end". Signature: (instance @ref{toolbar}), (arg-1 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
3653 @item @anchor{signal.toolbar.orientation-changed}"orientation-changed". Signature: (instance @ref{toolbar}), (arg-1 @ref{orientation}) @result{} void. Options: run-first.
3654 @item @anchor{signal.toolbar.popup-context-menu}"popup-context-menu". Signature: (instance @ref{toolbar}), (arg-1 @code{integer}), (arg-2 @code{integer}), (arg-3 @code{integer}) @result{} @code{boolean}. Options: run-last.
3655 @item @anchor{signal.toolbar.style-changed}"style-changed". Signature: (instance @ref{toolbar}), (arg-1 @ref{toolbar-style}) @result{} void. Options: run-first.
3656 @end itemize
3657
3658
3659
3660
3661 @node tree
3662 @section tree
3663 @Class tree
3664 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
3665
3666 Slots:
3667 @itemize
3668 @end itemize
3669
3670
3671 Signals:
3672 @itemize
3673 @item @anchor{signal.tree.select-child}"select-child". Signature: (instance @ref{tree}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
3674 @item @anchor{signal.tree.selection-changed}"selection-changed". Signature: (instance @ref{tree}) @result{} void. Options: run-first.
3675 @item @anchor{signal.tree.unselect-child}"unselect-child". Signature: (instance @ref{tree}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
3676 @end itemize
3677
3678
3679
3680
3681 @node tree-item
3682 @section tree-item
3683 @Class tree-item
3684 Superclass: @ref{item} @ref{atk-implementor-iface} @ref{buildable}
3685
3686 Slots:
3687 @itemize
3688 @end itemize
3689
3690
3691 Signals:
3692 @itemize
3693 @item @anchor{signal.tree-item.collapse}"collapse". Signature: (instance @ref{tree-item}) @result{} void. Options: run-first.
3694 @item @anchor{signal.tree-item.expand}"expand". Signature: (instance @ref{tree-item}) @result{} void. Options: run-first.
3695 @end itemize
3696
3697
3698
3699
3700 @node tree-view
3701 @section tree-view
3702 @Class tree-view
3703 Superclass: @ref{container} @ref{atk-implementor-iface} @ref{buildable}
3704
3705 Slots:
3706 @itemize
3707 @item @anchor{slot.tree-view.bin-window}bin-window. Type: @ref{g-object}. Accessor: @anchor{fn.tree-view-bin-window}@code{tree-view-bin-window}. Read-only.
3708 @item @anchor{slot.tree-view.column-drag-function}column-drag-function. Type: ????. Accessor: @anchor{fn.tree-view-column-drag-function}@code{tree-view-column-drag-function}. Write-only.
3709 @item @anchor{slot.tree-view.enable-grid-lines}enable-grid-lines. Type: @ref{tree-view-grid-lines}. Accessor: @anchor{fn.tree-view-enable-grid-lines}@code{tree-view-enable-grid-lines}.
3710 @item @anchor{slot.tree-view.enable-search}enable-search. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-enable-search}@code{tree-view-enable-search}.
3711 @item @anchor{slot.tree-view.enable-tree-lines}enable-tree-lines. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-enable-tree-lines}@code{tree-view-enable-tree-lines}.
3712 @item @anchor{slot.tree-view.expander-column}expander-column. Type: @ref{tree-view-column}. Accessor: @anchor{fn.tree-view-expander-column}@code{tree-view-expander-column}.
3713 @item @anchor{slot.tree-view.fixed-height-mode}fixed-height-mode. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-fixed-height-mode}@code{tree-view-fixed-height-mode}.
3714 @item @anchor{slot.tree-view.hadjustment}hadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.tree-view-hadjustment}@code{tree-view-hadjustment}.
3715 @item @anchor{slot.tree-view.headers-clickable}headers-clickable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-headers-clickable}@code{tree-view-headers-clickable}.
3716 @item @anchor{slot.tree-view.headers-visible}headers-visible. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-headers-visible}@code{tree-view-headers-visible}.
3717 @item @anchor{slot.tree-view.hover-expand}hover-expand. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-hover-expand}@code{tree-view-hover-expand}.
3718 @item @anchor{slot.tree-view.hover-selection}hover-selection. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-hover-selection}@code{tree-view-hover-selection}.
3719 @item @anchor{slot.tree-view.level-indentation}level-indentation. Type: @code{integer}. Accessor: @anchor{fn.tree-view-level-indentation}@code{tree-view-level-indentation}.
3720 @item @anchor{slot.tree-view.model}model. Type: @ref{tree-model}. Accessor: @anchor{fn.tree-view-model}@code{tree-view-model}.
3721 @item @anchor{slot.tree-view.reorderable}reorderable. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-reorderable}@code{tree-view-reorderable}.
3722 @item @anchor{slot.tree-view.row-separator-func}row-separator-func. Type: ????. Accessor: @anchor{fn.tree-view-row-separator-func}@code{tree-view-row-separator-func}. Write-only.
3723 @item @anchor{slot.tree-view.rubber-banding}rubber-banding. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-rubber-banding}@code{tree-view-rubber-banding}.
3724 @item @anchor{slot.tree-view.rules-hint}rules-hint. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-rules-hint}@code{tree-view-rules-hint}.
3725 @item @anchor{slot.tree-view.search-column}search-column. Type: @code{integer}. Accessor: @anchor{fn.tree-view-search-column}@code{tree-view-search-column}.
3726 @item @anchor{slot.tree-view.search-entry}search-entry. Type: @ref{g-object}. Accessor: @anchor{fn.tree-view-search-entry}@code{tree-view-search-entry}.
3727 @item @anchor{slot.tree-view.search-equal-func}search-equal-func. Type: ????. Accessor: @anchor{fn.tree-view-search-equal-func}@code{tree-view-search-equal-func}. Write-only.
3728 @item @anchor{slot.tree-view.search-position-func}search-position-func. Type: ????. Accessor: @anchor{fn.tree-view-search-position-func}@code{tree-view-search-position-func}. Write-only.
3729 @item @anchor{slot.tree-view.selection}selection. Type: @ref{g-object}. Accessor: @anchor{fn.tree-view-selection}@code{tree-view-selection}. Read-only.
3730 @item @anchor{slot.tree-view.show-expanders}show-expanders. Type: @code{boolean}. Accessor: @anchor{fn.tree-view-show-expanders}@code{tree-view-show-expanders}.
3731 @item @anchor{slot.tree-view.tooltip-column}tooltip-column. Type: @code{integer}. Accessor: @anchor{fn.tree-view-tooltip-column}@code{tree-view-tooltip-column}.
3732 @item @anchor{slot.tree-view.vadjustment}vadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.tree-view-vadjustment}@code{tree-view-vadjustment}.
3733 @end itemize
3734
3735
3736 Signals:
3737 @itemize
3738 @item @anchor{signal.tree-view.columns-changed}"columns-changed". Signature: (instance @ref{tree-view}) @result{} void. Options: run-last.
3739 @item @anchor{signal.tree-view.cursor-changed}"cursor-changed". Signature: (instance @ref{tree-view}) @result{} void. Options: run-last.
3740 @item @anchor{signal.tree-view.expand-collapse-cursor-row}"expand-collapse-cursor-row". Signature: (instance @ref{tree-view}), (arg-1 @code{boolean}), (arg-2 @code{boolean}), (arg-3 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
3741 @item @anchor{signal.tree-view.move-cursor}"move-cursor". Signature: (instance @ref{tree-view}), (arg-1 @ref{movement-step}), (arg-2 @code{integer}) @result{} @code{boolean}. Options: run-last, action.
3742 @item @anchor{signal.tree-view.row-activated}"row-activated". Signature: (instance @ref{tree-view}), (arg-1 @ref{tree-path}), (arg-2 @ref{tree-view-column}) @result{} void. Options: run-last, action.
3743 @item @anchor{signal.tree-view.row-collapsed}"row-collapsed". Signature: (instance @ref{tree-view}), (arg-1 @ref{tree-iter}), (arg-2 @ref{tree-path}) @result{} void. Options: run-last.
3744 @item @anchor{signal.tree-view.row-expanded}"row-expanded". Signature: (instance @ref{tree-view}), (arg-1 @ref{tree-iter}), (arg-2 @ref{tree-path}) @result{} void. Options: run-last.
3745 @item @anchor{signal.tree-view.select-all}"select-all". Signature: (instance @ref{tree-view}) @result{} @code{boolean}. Options: run-last, action.
3746 @item @anchor{signal.tree-view.select-cursor-parent}"select-cursor-parent". Signature: (instance @ref{tree-view}) @result{} @code{boolean}. Options: run-last, action.
3747 @item @anchor{signal.tree-view.select-cursor-row}"select-cursor-row". Signature: (instance @ref{tree-view}), (arg-1 @code{boolean}) @result{} @code{boolean}. Options: run-last, action.
3748 @item @anchor{signal.tree-view.set-scroll-adjustments}"set-scroll-adjustments". Signature: (instance @ref{tree-view}), (arg-1 @ref{adjustment}), (arg-2 @ref{adjustment}) @result{} void. Options: run-last, action.
3749 @item @anchor{signal.tree-view.start-interactive-search}"start-interactive-search". Signature: (instance @ref{tree-view}) @result{} @code{boolean}. Options: run-last, action.
3750 @item @anchor{signal.tree-view.test-collapse-row}"test-collapse-row". Signature: (instance @ref{tree-view}), (arg-1 @ref{tree-iter}), (arg-2 @ref{tree-path}) @result{} @code{boolean}. Options: run-last.
3751 @item @anchor{signal.tree-view.test-expand-row}"test-expand-row". Signature: (instance @ref{tree-view}), (arg-1 @ref{tree-iter}), (arg-2 @ref{tree-path}) @result{} @code{boolean}. Options: run-last.
3752 @item @anchor{signal.tree-view.toggle-cursor-row}"toggle-cursor-row". Signature: (instance @ref{tree-view}) @result{} @code{boolean}. Options: run-last, action.
3753 @item @anchor{signal.tree-view.unselect-all}"unselect-all". Signature: (instance @ref{tree-view}) @result{} @code{boolean}. Options: run-last, action.
3754 @end itemize
3755
3756
3757
3758
3759 @node v-box
3760 @section v-box
3761 @Class v-box
3762 Superclass: @ref{box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3763
3764 Subclasses: @ref{recent-chooser-widget} @ref{gamma-curve} @ref{font-selection} @ref{file-chooser-widget} @ref{color-selection}
3765
3766 Slots:
3767 @itemize
3768 @end itemize
3769
3770
3771 Signals:
3772 @itemize
3773 @end itemize
3774
3775
3776
3777
3778 @node v-button-box
3779 @section v-button-box
3780 @Class v-button-box
3781 Superclass: @ref{button-box} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3782
3783 Slots:
3784 @itemize
3785 @end itemize
3786
3787
3788 Signals:
3789 @itemize
3790 @end itemize
3791
3792
3793
3794
3795 @node v-paned
3796 @section v-paned
3797 @Class v-paned
3798 Superclass: @ref{paned} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3799
3800 Slots:
3801 @itemize
3802 @end itemize
3803
3804
3805 Signals:
3806 @itemize
3807 @end itemize
3808
3809
3810
3811
3812 @node v-ruler
3813 @section v-ruler
3814 @Class v-ruler
3815 Superclass: @ref{ruler} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3816
3817 Slots:
3818 @itemize
3819 @end itemize
3820
3821
3822 Signals:
3823 @itemize
3824 @end itemize
3825
3826
3827
3828
3829 @node v-scale
3830 @section v-scale
3831 @Class v-scale
3832 Superclass: @ref{scale} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3833
3834 Slots:
3835 @itemize
3836 @end itemize
3837
3838
3839 Signals:
3840 @itemize
3841 @end itemize
3842
3843
3844
3845
3846 @node v-scrollbar
3847 @section v-scrollbar
3848 @Class v-scrollbar
3849 Superclass: @ref{scrollbar} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3850
3851 Slots:
3852 @itemize
3853 @end itemize
3854
3855
3856 Signals:
3857 @itemize
3858 @end itemize
3859
3860
3861
3862
3863 @node v-separator
3864 @section v-separator
3865 @Class v-separator
3866 Superclass: @ref{separator} @ref{atk-implementor-iface} @ref{buildable} @ref{orientable}
3867
3868 Slots:
3869 @itemize
3870 @end itemize
3871
3872
3873 Signals:
3874 @itemize
3875 @end itemize
3876
3877
3878
3879
3880 @node viewport
3881 @section viewport
3882 @Class viewport
3883 Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
3884
3885 Slots:
3886 @itemize
3887 @item @anchor{slot.viewport.hadjustment}hadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.viewport-hadjustment}@code{viewport-hadjustment}.
3888 @item @anchor{slot.viewport.shadow-type}shadow-type. Type: @ref{shadow-type}. Accessor: @anchor{fn.viewport-shadow-type}@code{viewport-shadow-type}.
3889 @item @anchor{slot.viewport.vadjustment}vadjustment. Type: @ref{adjustment}. Accessor: @anchor{fn.viewport-vadjustment}@code{viewport-vadjustment}.
3890 @end itemize
3891
3892
3893 Signals:
3894 @itemize
3895 @item @anchor{signal.viewport.set-scroll-adjustments}"set-scroll-adjustments". Signature: (instance @ref{viewport}), (arg-1 @ref{adjustment}), (arg-2 @ref{adjustment}) @result{} void. Options: run-last, action.
3896 @end itemize
3897
3898
3899
3900
3901 @node volume-button
3902 @section volume-button
3903 @Class volume-button
3904 Superclass: @ref{scale-button} @ref{atk-implementor-iface} @ref{activatable} @ref{buildable} @ref{orientable}
3905
3906 Slots:
3907 @itemize
3908 @end itemize
3909
3910
3911 Signals:
3912 @itemize
3913 @end itemize
3914
3915
3916
3917
3918 @node widget
3919 @section widget
3920 @Class widget
3921 Superclass: @ref{gtk-object} @ref{atk-implementor-iface} @ref{buildable}
3922
3923 Subclasses: @ref{old-editable} @ref{progress} @ref{invisible} @ref{h-s-v} @ref{separator} @ref{range} @ref{ruler} @ref{entry} @ref{drawing-area} @ref{cell-view} @ref{calendar} @ref{misc} @ref{container}
3924
3925 Slots:
3926 @itemize
3927 @item @anchor{slot.widget.accessible}accessible. Type: @ref{g-object}. Accessor: @anchor{fn.widget-accessible}@code{widget-accessible}. Read-only.
3928 @item @anchor{slot.widget.app-paintable}app-paintable. Type: @code{boolean}. Accessor: @anchor{fn.widget-app-paintable}@code{widget-app-paintable}.
3929 @item @anchor{slot.widget.can-default}can-default. Type: @code{boolean}. Accessor: @anchor{fn.widget-can-default}@code{widget-can-default}.
3930 @item @anchor{slot.widget.can-focus}can-focus. Type: @code{boolean}. Accessor: @anchor{fn.widget-can-focus}@code{widget-can-focus}.
3931 @item @anchor{slot.widget.composite-child}composite-child. Type: @code{boolean}. Accessor: @anchor{fn.widget-composite-child}@code{widget-composite-child}. Read-only.
3932 @item @anchor{slot.widget.composite-name}composite-name. Type: @code{string}. Accessor: @anchor{fn.widget-composite-name}@code{widget-composite-name}.
3933 @item @anchor{slot.widget.direction}direction. Type: @ref{text-direction}. Accessor: @anchor{fn.widget-direction}@code{widget-direction}.
3934 @item @anchor{slot.widget.events}events. Type: @ref{event-mask}. Accessor: @anchor{fn.widget-events}@code{widget-events}.
3935 @item @anchor{slot.widget.extension-events}extension-events. Type: @ref{gdk-extension-mode}. Accessor: @anchor{fn.widget-extension-events}@code{widget-extension-events}.
3936 @item @anchor{slot.widget.has-default}has-default. Type: @code{boolean}. Accessor: @anchor{fn.widget-has-default}@code{widget-has-default}.
3937 @item @anchor{slot.widget.has-focus}has-focus. Type: @code{boolean}. Accessor: @anchor{fn.widget-has-focus}@code{widget-has-focus}.
3938 @item @anchor{slot.widget.has-tooltip}has-tooltip. Type: @code{boolean}. Accessor: @anchor{fn.widget-has-tooltip}@code{widget-has-tooltip}.
3939 @item @anchor{slot.widget.height-request}height-request. Type: @code{integer}. Accessor: @anchor{fn.widget-height-request}@code{widget-height-request}.
3940 @item @anchor{slot.widget.is-focus}is-focus. Type: @code{boolean}. Accessor: @anchor{fn.widget-is-focus}@code{widget-is-focus}.
3941 @item @anchor{slot.widget.name}name. Type: @code{string}. Accessor: @anchor{fn.widget-name}@code{widget-name}.
3942 @item @anchor{slot.widget.no-show-all}no-show-all. Type: @code{boolean}. Accessor: @anchor{fn.widget-no-show-all}@code{widget-no-show-all}.
3943 @item @anchor{slot.widget.parent}parent. Type: @ref{container}. Accessor: @anchor{fn.widget-parent}@code{widget-parent}.
3944 @item @anchor{slot.widget.receives-default}receives-default. Type: @code{boolean}. Accessor: @anchor{fn.widget-receives-default}@code{widget-receives-default}.
3945 @item @anchor{slot.widget.redraw-on-allocate}redraw-on-allocate. Type: @code{boolean}. Accessor: @anchor{fn.widget-redraw-on-allocate}@code{widget-redraw-on-allocate}. Write-only.
3946 @item @anchor{slot.widget.sensitive}sensitive. Type: @code{boolean}. Accessor: @anchor{fn.widget-sensitive}@code{widget-sensitive}.
3947 @item @anchor{slot.widget.style}style. Type: @ref{style}. Accessor: @anchor{fn.widget-style}@code{widget-style}.
3948 @item @anchor{slot.widget.tooltip-markup}tooltip-markup. Type: @code{string}. Accessor: @anchor{fn.widget-tooltip-markup}@code{widget-tooltip-markup}.
3949 @item @anchor{slot.widget.tooltip-text}tooltip-text. Type: @code{string}. Accessor: @anchor{fn.widget-tooltip-text}@code{widget-tooltip-text}.
3950 @item @anchor{slot.widget.tooltip-window}tooltip-window. Type: @ref{g-object}. Accessor: @anchor{fn.widget-tooltip-window}@code{widget-tooltip-window}.
3951 @item @anchor{slot.widget.visible}visible. Type: @code{boolean}. Accessor: @anchor{fn.widget-visible}@code{widget-visible}.
3952 @item @anchor{slot.widget.width-request}width-request. Type: @code{integer}. Accessor: @anchor{fn.widget-width-request}@code{widget-width-request}.
3953 @item @anchor{slot.widget.window}window. Type: @ref{gdk-window}. Accessor: @anchor{fn.widget-window}@code{widget-window}. Read-only.
3954 @end itemize
3955
3956
3957 Signals:
3958 @itemize
3959 @item @anchor{signal.widget.accel-closures-changed}"accel-closures-changed". Signature: (instance @ref{widget}) @result{} void. Options: .
3960 @item @anchor{signal.widget.button-press-event}"button-press-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3961 @item @anchor{signal.widget.button-release-event}"button-release-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3962 @item @anchor{signal.widget.can-activate-accel}"can-activate-accel". Signature: (instance @ref{widget}), (arg-1 @code{integer}) @result{} @code{boolean}. Options: run-last.
3963 @item @anchor{signal.widget.child-notify}"child-notify". Signature: (instance @ref{widget}), (arg-1 GParam) @result{} void. Options: run-first, no-recurse, detailed, no-hooks.
3964 @item @anchor{signal.widget.client-event}"client-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3965 @item @anchor{signal.widget.composited-changed}"composited-changed". Signature: (instance @ref{widget}) @result{} void. Options: run-last, action.
3966 @item @anchor{signal.widget.configure-event}"configure-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3967 @item @anchor{signal.widget.damage-event}"damage-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3968 @item @anchor{signal.widget.delete-event}"delete-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3969 @item @anchor{signal.widget.destroy-event}"destroy-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3970 @item @anchor{signal.widget.direction-changed}"direction-changed". Signature: (instance @ref{widget}), (arg-1 @ref{text-direction}) @result{} void. Options: run-first.
3971 @item @anchor{signal.widget.drag-begin}"drag-begin". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}) @result{} void. Options: run-last.
3972 @item @anchor{signal.widget.drag-data-delete}"drag-data-delete". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}) @result{} void. Options: run-last.
3973 @item @anchor{signal.widget.drag-data-get}"drag-data-get". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}), (arg-2 @code{GtkSelectionData}), (arg-3 @code{integer}), (arg-4 @code{integer}) @result{} void. Options: run-last.
3974 @item @anchor{signal.widget.drag-data-received}"drag-data-received". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}), (arg-2 @code{integer}), (arg-3 @code{integer}), (arg-4 @code{GtkSelectionData}), (arg-5 @code{integer}), (arg-6 @code{integer}) @result{} void. Options: run-last.
3975 @item @anchor{signal.widget.drag-drop}"drag-drop". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}), (arg-2 @code{integer}), (arg-3 @code{integer}), (arg-4 @code{integer}) @result{} @code{boolean}. Options: run-last.
3976 @item @anchor{signal.widget.drag-end}"drag-end". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}) @result{} void. Options: run-last.
3977 @item @anchor{signal.widget.drag-failed}"drag-failed". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}), (arg-2 @ref{drag-result}) @result{} @code{boolean}. Options: run-last.
3978 @item @anchor{signal.widget.drag-leave}"drag-leave". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}), (arg-2 @code{integer}) @result{} void. Options: run-last.
3979 @item @anchor{signal.widget.drag-motion}"drag-motion". Signature: (instance @ref{widget}), (arg-1 @ref{drag-context}), (arg-2 @code{integer}), (arg-3 @code{integer}), (arg-4 @code{integer}) @result{} @code{boolean}. Options: run-last.
3980 @item @anchor{signal.widget.enter-notify-event}"enter-notify-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3981 @item @anchor{signal.widget.event}"event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3982 @item @anchor{signal.widget.event-after}"event-after". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} void. Options: .
3983 @item @anchor{signal.widget.expose-event}"expose-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3984 @item @anchor{signal.widget.focus}"focus". Signature: (instance @ref{widget}), (arg-1 @ref{direction-type}) @result{} @code{boolean}. Options: run-last.
3985 @item @anchor{signal.widget.focus-in-event}"focus-in-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3986 @item @anchor{signal.widget.focus-out-event}"focus-out-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3987 @item @anchor{signal.widget.grab-broken-event}"grab-broken-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3988 @item @anchor{signal.widget.grab-focus}"grab-focus". Signature: (instance @ref{widget}) @result{} void. Options: run-last, action.
3989 @item @anchor{signal.widget.grab-notify}"grab-notify". Signature: (instance @ref{widget}), (arg-1 @code{boolean}) @result{} void. Options: run-first.
3990 @item @anchor{signal.widget.hide}"hide". Signature: (instance @ref{widget}) @result{} void. Options: run-first.
3991 @item @anchor{signal.widget.hierarchy-changed}"hierarchy-changed". Signature: (instance @ref{widget}), (arg-1 @ref{widget}) @result{} void. Options: run-last.
3992 @item @anchor{signal.widget.key-press-event}"key-press-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3993 @item @anchor{signal.widget.key-release-event}"key-release-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3994 @item @anchor{signal.widget.keynav-failed}"keynav-failed". Signature: (instance @ref{widget}), (arg-1 @ref{direction-type}) @result{} @code{boolean}. Options: run-last.
3995 @item @anchor{signal.widget.leave-notify-event}"leave-notify-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3996 @item @anchor{signal.widget.map}"map". Signature: (instance @ref{widget}) @result{} void. Options: run-first.
3997 @item @anchor{signal.widget.map-event}"map-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
3998 @item @anchor{signal.widget.mnemonic-activate}"mnemonic-activate". Signature: (instance @ref{widget}), (arg-1 @code{boolean}) @result{} @code{boolean}. Options: run-last.
3999 @item @anchor{signal.widget.motion-notify-event}"motion-notify-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4000 @item @anchor{signal.widget.move-focus}"move-focus". Signature: (instance @ref{widget}), (arg-1 @ref{direction-type}) @result{} void. Options: run-last, action.
4001 @item @anchor{signal.widget.no-expose-event}"no-expose-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4002 @item @anchor{signal.widget.parent-set}"parent-set". Signature: (instance @ref{widget}), (arg-1 @ref{widget}) @result{} void. Options: run-first.
4003 @item @anchor{signal.widget.popup-menu}"popup-menu". Signature: (instance @ref{widget}) @result{} @code{boolean}. Options: run-last, action.
4004 @item @anchor{signal.widget.property-notify-event}"property-notify-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4005 @item @anchor{signal.widget.proximity-in-event}"proximity-in-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4006 @item @anchor{signal.widget.proximity-out-event}"proximity-out-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4007 @item @anchor{signal.widget.query-tooltip}"query-tooltip". Signature: (instance @ref{widget}), (arg-1 @code{integer}), (arg-2 @code{integer}), (arg-3 @code{boolean}), (arg-4 @ref{tooltip}) @result{} @code{boolean}. Options: run-last.
4008 @item @anchor{signal.widget.realize}"realize". Signature: (instance @ref{widget}) @result{} void. Options: run-first.
4009 @item @anchor{signal.widget.screen-changed}"screen-changed". Signature: (instance @ref{widget}), (arg-1 @ref{screen}) @result{} void. Options: run-last.
4010 @item @anchor{signal.widget.scroll-event}"scroll-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4011 @item @anchor{signal.widget.selection-clear-event}"selection-clear-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4012 @item @anchor{signal.widget.selection-get}"selection-get". Signature: (instance @ref{widget}), (arg-1 @code{GtkSelectionData}), (arg-2 @code{integer}), (arg-3 @code{integer}) @result{} void. Options: run-last.
4013 @item @anchor{signal.widget.selection-notify-event}"selection-notify-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4014 @item @anchor{signal.widget.selection-received}"selection-received". Signature: (instance @ref{widget}), (arg-1 @code{GtkSelectionData}), (arg-2 @code{integer}) @result{} void. Options: run-last.
4015 @item @anchor{signal.widget.selection-request-event}"selection-request-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4016 @item @anchor{signal.widget.show}"show". Signature: (instance @ref{widget}) @result{} void. Options: run-first.
4017 @item @anchor{signal.widget.show-help}"show-help". Signature: (instance @ref{widget}), (arg-1 @ref{widget-help-type}) @result{} @code{boolean}. Options: run-last, action.
4018 @item @anchor{signal.widget.size-allocate}"size-allocate". Signature: (instance @ref{widget}), (arg-1 @ref{rectangle}) @result{} void. Options: run-first.
4019 @item @anchor{signal.widget.size-request}"size-request". Signature: (instance @ref{widget}), (arg-1 @code{GtkRequisition}) @result{} void. Options: run-first.
4020 @item @anchor{signal.widget.state-changed}"state-changed". Signature: (instance @ref{widget}), (arg-1 @ref{state-type}) @result{} void. Options: run-first.
4021 @item @anchor{signal.widget.style-set}"style-set". Signature: (instance @ref{widget}), (arg-1 @ref{style}) @result{} void. Options: run-first.
4022 @item @anchor{signal.widget.unmap}"unmap". Signature: (instance @ref{widget}) @result{} void. Options: run-first.
4023 @item @anchor{signal.widget.unmap-event}"unmap-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4024 @item @anchor{signal.widget.unrealize}"unrealize". Signature: (instance @ref{widget}) @result{} void. Options: run-last.
4025 @item @anchor{signal.widget.visibility-notify-event}"visibility-notify-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4026 @item @anchor{signal.widget.window-state-event}"window-state-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
4027 @end itemize
4028
4029 @RMethod widget-show
4030
4031 Undocumented yet
4032
4033 @RMethod widget-grab-focus
4034
4035 Undocumented yet
4036