1 | /* GTK - The GIMP Toolkit |
2 | * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald |
3 | * |
4 | * This library is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU Lesser General Public |
6 | * License as published by the Free Software Foundation; either |
7 | * version 2 of the License, or (at your option) any later version. |
8 | * |
9 | * This library is distributed in the hope that it will be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | * Lesser General Public License for more details. |
13 | * |
14 | * You should have received a copy of the GNU Lesser General Public |
15 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
16 | */ |
17 | |
18 | /* |
19 | * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS |
20 | * file for a list of people on the GTK+ Team. See the ChangeLog |
21 | * files for a list of changes. These files are distributed with |
22 | * GTK+ at ftp://ftp.gtk.org/pub/gtk/. |
23 | */ |
24 | |
25 | #ifndef __GTK_ENUMS_H__ |
26 | #define __GTK_ENUMS_H__ |
27 | |
28 | #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) |
29 | #error "Only <gtk/gtk.h> can be included directly." |
30 | #endif |
31 | |
32 | #include <glib-object.h> |
33 | |
34 | |
35 | G_BEGIN_DECLS |
36 | |
37 | /** |
38 | * GtkAlign: |
39 | * @GTK_ALIGN_FILL: stretch to fill all space if possible, center if |
40 | * no meaningful way to stretch |
41 | * @GTK_ALIGN_START: snap to left or top side, leaving space on right or bottom |
42 | * @GTK_ALIGN_END: snap to right or bottom side, leaving space on left or top |
43 | * @GTK_ALIGN_CENTER: center natural width of widget inside the allocation |
44 | * @GTK_ALIGN_BASELINE: align the widget according to the baseline. |
45 | * See [class@Gtk.Widget]. |
46 | * |
47 | * Controls how a widget deals with extra space in a single dimension. |
48 | * |
49 | * Alignment only matters if the widget receives a “too large” allocation, |
50 | * for example if you packed the widget with the [property@Gtk.Widget:hexpand] |
51 | * property inside a [class@Box], then the widget might get extra space. |
52 | * If you have for example a 16x16 icon inside a 32x32 space, the icon |
53 | * could be scaled and stretched, it could be centered, or it could be |
54 | * positioned to one side of the space. |
55 | * |
56 | * Note that in horizontal context %GTK_ALIGN_START and %GTK_ALIGN_END |
57 | * are interpreted relative to text direction. |
58 | * |
59 | * %GTK_ALIGN_BASELINE support is optional for containers and widgets, and |
60 | * it is only supported for vertical alignment. When it's not supported by |
61 | * a child or a container it is treated as %GTK_ALIGN_FILL. |
62 | */ |
63 | typedef enum |
64 | { |
65 | GTK_ALIGN_FILL, |
66 | GTK_ALIGN_START, |
67 | GTK_ALIGN_END, |
68 | GTK_ALIGN_CENTER, |
69 | GTK_ALIGN_BASELINE |
70 | } GtkAlign; |
71 | |
72 | /** |
73 | * GtkArrowType: |
74 | * @GTK_ARROW_UP: Represents an upward pointing arrow. |
75 | * @GTK_ARROW_DOWN: Represents a downward pointing arrow. |
76 | * @GTK_ARROW_LEFT: Represents a left pointing arrow. |
77 | * @GTK_ARROW_RIGHT: Represents a right pointing arrow. |
78 | * @GTK_ARROW_NONE: No arrow. |
79 | * |
80 | * Used to indicate the direction in which an arrow should point. |
81 | */ |
82 | typedef enum |
83 | { |
84 | GTK_ARROW_UP, |
85 | GTK_ARROW_DOWN, |
86 | GTK_ARROW_LEFT, |
87 | GTK_ARROW_RIGHT, |
88 | GTK_ARROW_NONE |
89 | } GtkArrowType; |
90 | |
91 | /** |
92 | * GtkBaselinePosition: |
93 | * @GTK_BASELINE_POSITION_TOP: Align the baseline at the top |
94 | * @GTK_BASELINE_POSITION_CENTER: Center the baseline |
95 | * @GTK_BASELINE_POSITION_BOTTOM: Align the baseline at the bottom |
96 | * |
97 | * Baseline position in a row of widgets. |
98 | * |
99 | * Whenever a container has some form of natural row it may align |
100 | * children in that row along a common typographical baseline. If |
101 | * the amount of vertical space in the row is taller than the total |
102 | * requested height of the baseline-aligned children then it can use a |
103 | * `GtkBaselinePosition` to select where to put the baseline inside the |
104 | * extra available space. |
105 | */ |
106 | typedef enum |
107 | { |
108 | GTK_BASELINE_POSITION_TOP, |
109 | GTK_BASELINE_POSITION_CENTER, |
110 | GTK_BASELINE_POSITION_BOTTOM |
111 | } GtkBaselinePosition; |
112 | |
113 | /** |
114 | * GtkDeleteType: |
115 | * @GTK_DELETE_CHARS: Delete characters. |
116 | * @GTK_DELETE_WORD_ENDS: Delete only the portion of the word to the |
117 | * left/right of cursor if we’re in the middle of a word. |
118 | * @GTK_DELETE_WORDS: Delete words. |
119 | * @GTK_DELETE_DISPLAY_LINES: Delete display-lines. Display-lines |
120 | * refers to the visible lines, with respect to the current line |
121 | * breaks. As opposed to paragraphs, which are defined by line |
122 | * breaks in the input. |
123 | * @GTK_DELETE_DISPLAY_LINE_ENDS: Delete only the portion of the |
124 | * display-line to the left/right of cursor. |
125 | * @GTK_DELETE_PARAGRAPH_ENDS: Delete to the end of the |
126 | * paragraph. Like C-k in Emacs (or its reverse). |
127 | * @GTK_DELETE_PARAGRAPHS: Delete entire line. Like C-k in pico. |
128 | * @GTK_DELETE_WHITESPACE: Delete only whitespace. Like M-\ in Emacs. |
129 | * |
130 | * Passed to various keybinding signals for deleting text. |
131 | */ |
132 | typedef enum |
133 | { |
134 | GTK_DELETE_CHARS, |
135 | GTK_DELETE_WORD_ENDS, |
136 | GTK_DELETE_WORDS, |
137 | GTK_DELETE_DISPLAY_LINES, |
138 | GTK_DELETE_DISPLAY_LINE_ENDS, |
139 | GTK_DELETE_PARAGRAPH_ENDS, |
140 | GTK_DELETE_PARAGRAPHS, |
141 | GTK_DELETE_WHITESPACE |
142 | } GtkDeleteType; |
143 | |
144 | /* Focus movement types */ |
145 | /** |
146 | * GtkDirectionType: |
147 | * @GTK_DIR_TAB_FORWARD: Move forward. |
148 | * @GTK_DIR_TAB_BACKWARD: Move backward. |
149 | * @GTK_DIR_UP: Move up. |
150 | * @GTK_DIR_DOWN: Move down. |
151 | * @GTK_DIR_LEFT: Move left. |
152 | * @GTK_DIR_RIGHT: Move right. |
153 | * |
154 | * Focus movement types. |
155 | */ |
156 | typedef enum |
157 | { |
158 | GTK_DIR_TAB_FORWARD, |
159 | GTK_DIR_TAB_BACKWARD, |
160 | GTK_DIR_UP, |
161 | GTK_DIR_DOWN, |
162 | GTK_DIR_LEFT, |
163 | GTK_DIR_RIGHT |
164 | } GtkDirectionType; |
165 | |
166 | /** |
167 | * GtkIconSize: |
168 | * @GTK_ICON_SIZE_INHERIT: Keep the size of the parent element |
169 | * @GTK_ICON_SIZE_NORMAL: Size similar to text size |
170 | * @GTK_ICON_SIZE_LARGE: Large size, for example in an icon view |
171 | * |
172 | * Built-in icon sizes. |
173 | * |
174 | * Icon sizes default to being inherited. Where they cannot be |
175 | * inherited, text size is the default. |
176 | * |
177 | * All widgets which use `GtkIconSize` set the normal-icons or |
178 | * large-icons style classes correspondingly, and let themes |
179 | * determine the actual size to be used with the |
180 | * `-gtk-icon-size` CSS property. |
181 | */ |
182 | typedef enum |
183 | { |
184 | GTK_ICON_SIZE_INHERIT, |
185 | GTK_ICON_SIZE_NORMAL, |
186 | GTK_ICON_SIZE_LARGE |
187 | } GtkIconSize; |
188 | |
189 | /** |
190 | * GtkSensitivityType: |
191 | * @GTK_SENSITIVITY_AUTO: The control is made insensitive if no |
192 | * action can be triggered |
193 | * @GTK_SENSITIVITY_ON: The control is always sensitive |
194 | * @GTK_SENSITIVITY_OFF: The control is always insensitive |
195 | * |
196 | * Determines how GTK handles the sensitivity of various controls, |
197 | * such as combo box buttons. |
198 | */ |
199 | typedef enum |
200 | { |
201 | GTK_SENSITIVITY_AUTO, |
202 | GTK_SENSITIVITY_ON, |
203 | GTK_SENSITIVITY_OFF |
204 | } GtkSensitivityType; |
205 | |
206 | /* Reading directions for text */ |
207 | /** |
208 | * GtkTextDirection: |
209 | * @GTK_TEXT_DIR_NONE: No direction. |
210 | * @GTK_TEXT_DIR_LTR: Left to right text direction. |
211 | * @GTK_TEXT_DIR_RTL: Right to left text direction. |
212 | * |
213 | * Reading directions for text. |
214 | */ |
215 | typedef enum |
216 | { |
217 | GTK_TEXT_DIR_NONE, |
218 | GTK_TEXT_DIR_LTR, |
219 | GTK_TEXT_DIR_RTL |
220 | } GtkTextDirection; |
221 | |
222 | /** |
223 | * GtkJustification: |
224 | * @GTK_JUSTIFY_LEFT: The text is placed at the left edge of the label. |
225 | * @GTK_JUSTIFY_RIGHT: The text is placed at the right edge of the label. |
226 | * @GTK_JUSTIFY_CENTER: The text is placed in the center of the label. |
227 | * @GTK_JUSTIFY_FILL: The text is placed is distributed across the label. |
228 | * |
229 | * Used for justifying the text inside a [class@Label] widget. |
230 | */ |
231 | typedef enum |
232 | { |
233 | GTK_JUSTIFY_LEFT, |
234 | GTK_JUSTIFY_RIGHT, |
235 | GTK_JUSTIFY_CENTER, |
236 | GTK_JUSTIFY_FILL |
237 | } GtkJustification; |
238 | |
239 | /** |
240 | * GtkMessageType: |
241 | * @GTK_MESSAGE_INFO: Informational message |
242 | * @GTK_MESSAGE_WARNING: Non-fatal warning message |
243 | * @GTK_MESSAGE_QUESTION: Question requiring a choice |
244 | * @GTK_MESSAGE_ERROR: Fatal error message |
245 | * @GTK_MESSAGE_OTHER: None of the above |
246 | * |
247 | * The type of message being displayed in a [class@MessageDialog]. |
248 | */ |
249 | typedef enum |
250 | { |
251 | GTK_MESSAGE_INFO, |
252 | GTK_MESSAGE_WARNING, |
253 | GTK_MESSAGE_QUESTION, |
254 | GTK_MESSAGE_ERROR, |
255 | GTK_MESSAGE_OTHER |
256 | } GtkMessageType; |
257 | |
258 | /** |
259 | * GtkMovementStep: |
260 | * @GTK_MOVEMENT_LOGICAL_POSITIONS: Move forward or back by graphemes |
261 | * @GTK_MOVEMENT_VISUAL_POSITIONS: Move left or right by graphemes |
262 | * @GTK_MOVEMENT_WORDS: Move forward or back by words |
263 | * @GTK_MOVEMENT_DISPLAY_LINES: Move up or down lines (wrapped lines) |
264 | * @GTK_MOVEMENT_DISPLAY_LINE_ENDS: Move to either end of a line |
265 | * @GTK_MOVEMENT_PARAGRAPHS: Move up or down paragraphs (newline-ended lines) |
266 | * @GTK_MOVEMENT_PARAGRAPH_ENDS: Move to either end of a paragraph |
267 | * @GTK_MOVEMENT_PAGES: Move by pages |
268 | * @GTK_MOVEMENT_BUFFER_ENDS: Move to ends of the buffer |
269 | * @GTK_MOVEMENT_HORIZONTAL_PAGES: Move horizontally by pages |
270 | * |
271 | * Passed as argument to various keybinding signals for moving the |
272 | * cursor position. |
273 | */ |
274 | typedef enum |
275 | { |
276 | GTK_MOVEMENT_LOGICAL_POSITIONS, |
277 | GTK_MOVEMENT_VISUAL_POSITIONS, |
278 | GTK_MOVEMENT_WORDS, |
279 | GTK_MOVEMENT_DISPLAY_LINES, |
280 | GTK_MOVEMENT_DISPLAY_LINE_ENDS, |
281 | GTK_MOVEMENT_PARAGRAPHS, |
282 | GTK_MOVEMENT_PARAGRAPH_ENDS, |
283 | GTK_MOVEMENT_PAGES, |
284 | GTK_MOVEMENT_BUFFER_ENDS, |
285 | GTK_MOVEMENT_HORIZONTAL_PAGES |
286 | } GtkMovementStep; |
287 | |
288 | /** |
289 | * GtkNaturalWrapMode: |
290 | * @GTK_NATURAL_WRAP_INHERIT: Inherit the minimum size request. |
291 | * In particular, this should be used with %PANGO_WRAP_CHAR. |
292 | * @GTK_NATURAL_WRAP_NONE: Try not to wrap the text. This mode is the |
293 | * closest to GTK3's behavior but can lead to a wide label leaving |
294 | * lots of empty space below the text. |
295 | * @GTK_NATURAL_WRAP_WORD: Attempt to wrap at word boundaries. This |
296 | * is useful in particular when using %PANGO_WRAP_WORD_CHAR as the |
297 | * wrap mode. |
298 | * |
299 | * Options for selecting a different wrap mode for natural size |
300 | * requests. |
301 | * |
302 | * See for example the [property@Gtk.Label:natural-wrap-mode] property. |
303 | * |
304 | * Since: 4.6 |
305 | */ |
306 | typedef enum |
307 | { |
308 | GTK_NATURAL_WRAP_INHERIT, |
309 | GTK_NATURAL_WRAP_NONE, |
310 | GTK_NATURAL_WRAP_WORD |
311 | } GtkNaturalWrapMode; |
312 | |
313 | /** |
314 | * GtkScrollStep: |
315 | * @GTK_SCROLL_STEPS: Scroll in steps. |
316 | * @GTK_SCROLL_PAGES: Scroll by pages. |
317 | * @GTK_SCROLL_ENDS: Scroll to ends. |
318 | * @GTK_SCROLL_HORIZONTAL_STEPS: Scroll in horizontal steps. |
319 | * @GTK_SCROLL_HORIZONTAL_PAGES: Scroll by horizontal pages. |
320 | * @GTK_SCROLL_HORIZONTAL_ENDS: Scroll to the horizontal ends. |
321 | * |
322 | * Passed as argument to various keybinding signals. |
323 | */ |
324 | typedef enum |
325 | { |
326 | GTK_SCROLL_STEPS, |
327 | GTK_SCROLL_PAGES, |
328 | GTK_SCROLL_ENDS, |
329 | GTK_SCROLL_HORIZONTAL_STEPS, |
330 | GTK_SCROLL_HORIZONTAL_PAGES, |
331 | GTK_SCROLL_HORIZONTAL_ENDS |
332 | } GtkScrollStep; |
333 | |
334 | /** |
335 | * GtkOrientation: |
336 | * @GTK_ORIENTATION_HORIZONTAL: The element is in horizontal orientation. |
337 | * @GTK_ORIENTATION_VERTICAL: The element is in vertical orientation. |
338 | * |
339 | * Represents the orientation of widgets and other objects. |
340 | * |
341 | * Typical examples are [class@Box] or [class@GesturePan]. |
342 | */ |
343 | typedef enum |
344 | { |
345 | GTK_ORIENTATION_HORIZONTAL, |
346 | GTK_ORIENTATION_VERTICAL |
347 | } GtkOrientation; |
348 | |
349 | /** |
350 | * GtkOverflow: |
351 | * @GTK_OVERFLOW_VISIBLE: No change is applied. Content is drawn at the specified |
352 | * position. |
353 | * @GTK_OVERFLOW_HIDDEN: Content is clipped to the bounds of the area. Content |
354 | * outside the area is not drawn and cannot be interacted with. |
355 | * |
356 | * Defines how content overflowing a given area should be handled. |
357 | * |
358 | * This is used in [method@Gtk.Widget.set_overflow]. The |
359 | * [property@Gtk.Widget:overflow] property is modeled after the |
360 | * CSS overflow property, but implements it only partially. |
361 | */ |
362 | typedef enum |
363 | { |
364 | GTK_OVERFLOW_VISIBLE, |
365 | GTK_OVERFLOW_HIDDEN |
366 | } GtkOverflow; |
367 | |
368 | /** |
369 | * GtkPackType: |
370 | * @GTK_PACK_START: The child is packed into the start of the widget |
371 | * @GTK_PACK_END: The child is packed into the end of the widget |
372 | * |
373 | * Represents the packing location of a children in its parent. |
374 | * |
375 | * See [class@WindowControls] for example. |
376 | */ |
377 | typedef enum |
378 | { |
379 | GTK_PACK_START, |
380 | GTK_PACK_END |
381 | } GtkPackType; |
382 | |
383 | /** |
384 | * GtkPositionType: |
385 | * @GTK_POS_LEFT: The feature is at the left edge. |
386 | * @GTK_POS_RIGHT: The feature is at the right edge. |
387 | * @GTK_POS_TOP: The feature is at the top edge. |
388 | * @GTK_POS_BOTTOM: The feature is at the bottom edge. |
389 | * |
390 | * Describes which edge of a widget a certain feature is positioned at. |
391 | * |
392 | * For examples, see the tabs of a [class@Notebook], or the label |
393 | * of a [class@Scale]. |
394 | */ |
395 | typedef enum |
396 | { |
397 | GTK_POS_LEFT, |
398 | GTK_POS_RIGHT, |
399 | GTK_POS_TOP, |
400 | GTK_POS_BOTTOM |
401 | } GtkPositionType; |
402 | |
403 | /** |
404 | * GtkScrollType: |
405 | * @GTK_SCROLL_NONE: No scrolling. |
406 | * @GTK_SCROLL_JUMP: Jump to new location. |
407 | * @GTK_SCROLL_STEP_BACKWARD: Step backward. |
408 | * @GTK_SCROLL_STEP_FORWARD: Step forward. |
409 | * @GTK_SCROLL_PAGE_BACKWARD: Page backward. |
410 | * @GTK_SCROLL_PAGE_FORWARD: Page forward. |
411 | * @GTK_SCROLL_STEP_UP: Step up. |
412 | * @GTK_SCROLL_STEP_DOWN: Step down. |
413 | * @GTK_SCROLL_PAGE_UP: Page up. |
414 | * @GTK_SCROLL_PAGE_DOWN: Page down. |
415 | * @GTK_SCROLL_STEP_LEFT: Step to the left. |
416 | * @GTK_SCROLL_STEP_RIGHT: Step to the right. |
417 | * @GTK_SCROLL_PAGE_LEFT: Page to the left. |
418 | * @GTK_SCROLL_PAGE_RIGHT: Page to the right. |
419 | * @GTK_SCROLL_START: Scroll to start. |
420 | * @GTK_SCROLL_END: Scroll to end. |
421 | * |
422 | * Scrolling types. |
423 | */ |
424 | typedef enum |
425 | { |
426 | GTK_SCROLL_NONE, |
427 | GTK_SCROLL_JUMP, |
428 | GTK_SCROLL_STEP_BACKWARD, |
429 | GTK_SCROLL_STEP_FORWARD, |
430 | GTK_SCROLL_PAGE_BACKWARD, |
431 | GTK_SCROLL_PAGE_FORWARD, |
432 | GTK_SCROLL_STEP_UP, |
433 | GTK_SCROLL_STEP_DOWN, |
434 | GTK_SCROLL_PAGE_UP, |
435 | GTK_SCROLL_PAGE_DOWN, |
436 | GTK_SCROLL_STEP_LEFT, |
437 | GTK_SCROLL_STEP_RIGHT, |
438 | GTK_SCROLL_PAGE_LEFT, |
439 | GTK_SCROLL_PAGE_RIGHT, |
440 | GTK_SCROLL_START, |
441 | GTK_SCROLL_END |
442 | } GtkScrollType; |
443 | |
444 | /** |
445 | * GtkSelectionMode: |
446 | * @GTK_SELECTION_NONE: No selection is possible. |
447 | * @GTK_SELECTION_SINGLE: Zero or one element may be selected. |
448 | * @GTK_SELECTION_BROWSE: Exactly one element is selected. |
449 | * In some circumstances, such as initially or during a search |
450 | * operation, it’s possible for no element to be selected with |
451 | * %GTK_SELECTION_BROWSE. What is really enforced is that the user |
452 | * can’t deselect a currently selected element except by selecting |
453 | * another element. |
454 | * @GTK_SELECTION_MULTIPLE: Any number of elements may be selected. |
455 | * The Ctrl key may be used to enlarge the selection, and Shift |
456 | * key to select between the focus and the child pointed to. |
457 | * Some widgets may also allow Click-drag to select a range of elements. |
458 | * |
459 | * Used to control what selections users are allowed to make. |
460 | */ |
461 | typedef enum |
462 | { |
463 | GTK_SELECTION_NONE, |
464 | GTK_SELECTION_SINGLE, |
465 | GTK_SELECTION_BROWSE, |
466 | GTK_SELECTION_MULTIPLE |
467 | } GtkSelectionMode; |
468 | |
469 | /* Widget states */ |
470 | |
471 | /** |
472 | * GtkWrapMode: |
473 | * @GTK_WRAP_NONE: do not wrap lines; just make the text area wider |
474 | * @GTK_WRAP_CHAR: wrap text, breaking lines anywhere the cursor can |
475 | * appear (between characters, usually - if you want to be technical, |
476 | * between graphemes, see pango_get_log_attrs()) |
477 | * @GTK_WRAP_WORD: wrap text, breaking lines in between words |
478 | * @GTK_WRAP_WORD_CHAR: wrap text, breaking lines in between words, or if |
479 | * that is not enough, also between graphemes |
480 | * |
481 | * Describes a type of line wrapping. |
482 | */ |
483 | typedef enum |
484 | { |
485 | GTK_WRAP_NONE, |
486 | GTK_WRAP_CHAR, |
487 | GTK_WRAP_WORD, |
488 | GTK_WRAP_WORD_CHAR |
489 | } GtkWrapMode; |
490 | |
491 | /** |
492 | * GtkSortType: |
493 | * @GTK_SORT_ASCENDING: Sorting is in ascending order. |
494 | * @GTK_SORT_DESCENDING: Sorting is in descending order. |
495 | * |
496 | * Determines the direction of a sort. |
497 | */ |
498 | typedef enum |
499 | { |
500 | GTK_SORT_ASCENDING, |
501 | GTK_SORT_DESCENDING |
502 | } GtkSortType; |
503 | |
504 | /** |
505 | * GtkPrintPages: |
506 | * @GTK_PRINT_PAGES_ALL: All pages. |
507 | * @GTK_PRINT_PAGES_CURRENT: Current page. |
508 | * @GTK_PRINT_PAGES_RANGES: Range of pages. |
509 | * @GTK_PRINT_PAGES_SELECTION: Selected pages. |
510 | * |
511 | * See also gtk_print_job_set_pages() |
512 | */ |
513 | typedef enum |
514 | { |
515 | GTK_PRINT_PAGES_ALL, |
516 | GTK_PRINT_PAGES_CURRENT, |
517 | GTK_PRINT_PAGES_RANGES, |
518 | GTK_PRINT_PAGES_SELECTION |
519 | } GtkPrintPages; |
520 | |
521 | /** |
522 | * GtkPageSet: |
523 | * @GTK_PAGE_SET_ALL: All pages. |
524 | * @GTK_PAGE_SET_EVEN: Even pages. |
525 | * @GTK_PAGE_SET_ODD: Odd pages. |
526 | * |
527 | * See also gtk_print_job_set_page_set(). |
528 | */ |
529 | typedef enum |
530 | { |
531 | GTK_PAGE_SET_ALL, |
532 | GTK_PAGE_SET_EVEN, |
533 | GTK_PAGE_SET_ODD |
534 | } GtkPageSet; |
535 | |
536 | /** |
537 | * GtkNumberUpLayout: |
538 | * @GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM:  |
539 | * @GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP:  |
540 | * @GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM:  |
541 | * @GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP:  |
542 | * @GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT:  |
543 | * @GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT:  |
544 | * @GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT:  |
545 | * @GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT:  |
546 | * |
547 | * Used to determine the layout of pages on a sheet when printing |
548 | * multiple pages per sheet. |
549 | */ |
550 | typedef enum |
551 | { |
552 | GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM, /*< nick=lrtb >*/ |
553 | GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP, /*< nick=lrbt >*/ |
554 | GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM, /*< nick=rltb >*/ |
555 | GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP, /*< nick=rlbt >*/ |
556 | GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT, /*< nick=tblr >*/ |
557 | GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT, /*< nick=tbrl >*/ |
558 | GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT, /*< nick=btlr >*/ |
559 | GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT /*< nick=btrl >*/ |
560 | } GtkNumberUpLayout; |
561 | |
562 | /** |
563 | * GtkOrdering: |
564 | * @GTK_ORDERING_SMALLER: the first value is smaller than the second |
565 | * @GTK_ORDERING_EQUAL: the two values are equal |
566 | * @GTK_ORDERING_LARGER: the first value is larger than the second |
567 | * |
568 | * Describes the way two values can be compared. |
569 | * |
570 | * These values can be used with a [callback@GLib.CompareFunc]. However, |
571 | * a `GCompareFunc` is allowed to return any integer values. |
572 | * For converting such a value to a `GtkOrdering` value, use |
573 | * [func@Gtk.Ordering.from_cmpfunc]. |
574 | */ |
575 | typedef enum { |
576 | GTK_ORDERING_SMALLER = -1, |
577 | GTK_ORDERING_EQUAL = 0, |
578 | GTK_ORDERING_LARGER = 1 |
579 | } GtkOrdering; |
580 | |
581 | /* The GI scanner does not handle static inline functions, because |
582 | * of the `static` keyword; so we clip this out when parsing the |
583 | * header, and we replace it with a real function in gtksorter.c |
584 | * that only exists when parsing the source for introspection. |
585 | */ |
586 | #ifdef __GI_SCANNER__ |
587 | GtkOrdering gtk_ordering_from_cmpfunc (int cmpfunc_result); |
588 | #else |
589 | /** |
590 | * gtk_ordering_from_cmpfunc: |
591 | * @cmpfunc_result: Result of a comparison function |
592 | * |
593 | * Converts the result of a `GCompareFunc` like strcmp() to a |
594 | * `GtkOrdering` value. |
595 | * |
596 | * Returns: the corresponding `GtkOrdering` |
597 | **/ |
598 | static inline GtkOrdering |
599 | gtk_ordering_from_cmpfunc (int cmpfunc_result) |
600 | { |
601 | return (GtkOrdering) ((cmpfunc_result > 0) - (cmpfunc_result < 0)); |
602 | } |
603 | #endif |
604 | |
605 | /** |
606 | * GtkPageOrientation: |
607 | * @GTK_PAGE_ORIENTATION_PORTRAIT: Portrait mode. |
608 | * @GTK_PAGE_ORIENTATION_LANDSCAPE: Landscape mode. |
609 | * @GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT: Reverse portrait mode. |
610 | * @GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE: Reverse landscape mode. |
611 | * |
612 | * See also gtk_print_settings_set_orientation(). |
613 | */ |
614 | typedef enum |
615 | { |
616 | GTK_PAGE_ORIENTATION_PORTRAIT, |
617 | GTK_PAGE_ORIENTATION_LANDSCAPE, |
618 | GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT, |
619 | GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE |
620 | } GtkPageOrientation; |
621 | |
622 | /** |
623 | * GtkPrintQuality: |
624 | * @GTK_PRINT_QUALITY_LOW: Low quality. |
625 | * @GTK_PRINT_QUALITY_NORMAL: Normal quality. |
626 | * @GTK_PRINT_QUALITY_HIGH: High quality. |
627 | * @GTK_PRINT_QUALITY_DRAFT: Draft quality. |
628 | * |
629 | * See also gtk_print_settings_set_quality(). |
630 | */ |
631 | typedef enum |
632 | { |
633 | GTK_PRINT_QUALITY_LOW, |
634 | GTK_PRINT_QUALITY_NORMAL, |
635 | GTK_PRINT_QUALITY_HIGH, |
636 | GTK_PRINT_QUALITY_DRAFT |
637 | } GtkPrintQuality; |
638 | |
639 | /** |
640 | * GtkPrintDuplex: |
641 | * @GTK_PRINT_DUPLEX_SIMPLEX: No duplex. |
642 | * @GTK_PRINT_DUPLEX_HORIZONTAL: Horizontal duplex. |
643 | * @GTK_PRINT_DUPLEX_VERTICAL: Vertical duplex. |
644 | * |
645 | * See also gtk_print_settings_set_duplex(). |
646 | */ |
647 | typedef enum |
648 | { |
649 | GTK_PRINT_DUPLEX_SIMPLEX, |
650 | GTK_PRINT_DUPLEX_HORIZONTAL, |
651 | GTK_PRINT_DUPLEX_VERTICAL |
652 | } GtkPrintDuplex; |
653 | |
654 | |
655 | /** |
656 | * GtkUnit: |
657 | * @GTK_UNIT_NONE: No units. |
658 | * @GTK_UNIT_POINTS: Dimensions in points. |
659 | * @GTK_UNIT_INCH: Dimensions in inches. |
660 | * @GTK_UNIT_MM: Dimensions in millimeters |
661 | * |
662 | * See also gtk_print_settings_set_paper_width(). |
663 | */ |
664 | typedef enum |
665 | { |
666 | GTK_UNIT_NONE, |
667 | GTK_UNIT_POINTS, |
668 | GTK_UNIT_INCH, |
669 | GTK_UNIT_MM |
670 | } GtkUnit; |
671 | |
672 | #define GTK_UNIT_PIXEL GTK_UNIT_NONE |
673 | |
674 | /** |
675 | * GtkTreeViewGridLines: |
676 | * @GTK_TREE_VIEW_GRID_LINES_NONE: No grid lines. |
677 | * @GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: Horizontal grid lines. |
678 | * @GTK_TREE_VIEW_GRID_LINES_VERTICAL: Vertical grid lines. |
679 | * @GTK_TREE_VIEW_GRID_LINES_BOTH: Horizontal and vertical grid lines. |
680 | * |
681 | * Used to indicate which grid lines to draw in a tree view. |
682 | */ |
683 | typedef enum |
684 | { |
685 | GTK_TREE_VIEW_GRID_LINES_NONE, |
686 | GTK_TREE_VIEW_GRID_LINES_HORIZONTAL, |
687 | GTK_TREE_VIEW_GRID_LINES_VERTICAL, |
688 | GTK_TREE_VIEW_GRID_LINES_BOTH |
689 | } GtkTreeViewGridLines; |
690 | |
691 | /** |
692 | * GtkSizeGroupMode: |
693 | * @GTK_SIZE_GROUP_NONE: group has no effect |
694 | * @GTK_SIZE_GROUP_HORIZONTAL: group affects horizontal requisition |
695 | * @GTK_SIZE_GROUP_VERTICAL: group affects vertical requisition |
696 | * @GTK_SIZE_GROUP_BOTH: group affects both horizontal and vertical requisition |
697 | * |
698 | * The mode of the size group determines the directions in which the size |
699 | * group affects the requested sizes of its component widgets. |
700 | **/ |
701 | typedef enum { |
702 | GTK_SIZE_GROUP_NONE, |
703 | GTK_SIZE_GROUP_HORIZONTAL, |
704 | GTK_SIZE_GROUP_VERTICAL, |
705 | GTK_SIZE_GROUP_BOTH |
706 | } GtkSizeGroupMode; |
707 | |
708 | /** |
709 | * GtkSizeRequestMode: |
710 | * @GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH: Prefer height-for-width geometry management |
711 | * @GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT: Prefer width-for-height geometry management |
712 | * @GTK_SIZE_REQUEST_CONSTANT_SIZE: Don’t trade height-for-width or width-for-height |
713 | * |
714 | * Specifies a preference for height-for-width or |
715 | * width-for-height geometry management. |
716 | */ |
717 | typedef enum |
718 | { |
719 | GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH = 0, |
720 | GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT, |
721 | GTK_SIZE_REQUEST_CONSTANT_SIZE |
722 | } GtkSizeRequestMode; |
723 | |
724 | /** |
725 | * GtkScrollablePolicy: |
726 | * @GTK_SCROLL_MINIMUM: Scrollable adjustments are based on the minimum size |
727 | * @GTK_SCROLL_NATURAL: Scrollable adjustments are based on the natural size |
728 | * |
729 | * Defines the policy to be used in a scrollable widget when updating |
730 | * the scrolled window adjustments in a given orientation. |
731 | */ |
732 | typedef enum |
733 | { |
734 | GTK_SCROLL_MINIMUM = 0, |
735 | GTK_SCROLL_NATURAL |
736 | } GtkScrollablePolicy; |
737 | |
738 | /** |
739 | * GtkStateFlags: |
740 | * @GTK_STATE_FLAG_NORMAL: State during normal operation |
741 | * @GTK_STATE_FLAG_ACTIVE: Widget is active |
742 | * @GTK_STATE_FLAG_PRELIGHT: Widget has a mouse pointer over it |
743 | * @GTK_STATE_FLAG_SELECTED: Widget is selected |
744 | * @GTK_STATE_FLAG_INSENSITIVE: Widget is insensitive |
745 | * @GTK_STATE_FLAG_INCONSISTENT: Widget is inconsistent |
746 | * @GTK_STATE_FLAG_FOCUSED: Widget has the keyboard focus |
747 | * @GTK_STATE_FLAG_BACKDROP: Widget is in a background toplevel window |
748 | * @GTK_STATE_FLAG_DIR_LTR: Widget is in left-to-right text direction |
749 | * @GTK_STATE_FLAG_DIR_RTL: Widget is in right-to-left text direction |
750 | * @GTK_STATE_FLAG_LINK: Widget is a link |
751 | * @GTK_STATE_FLAG_VISITED: The location the widget points to has already been visited |
752 | * @GTK_STATE_FLAG_CHECKED: Widget is checked |
753 | * @GTK_STATE_FLAG_DROP_ACTIVE: Widget is highlighted as a drop target for DND |
754 | * @GTK_STATE_FLAG_FOCUS_VISIBLE: Widget has the visible focus |
755 | * @GTK_STATE_FLAG_FOCUS_WITHIN: Widget contains the keyboard focus |
756 | * |
757 | * Describes a widget state. |
758 | * |
759 | * Widget states are used to match the widget against CSS pseudo-classes. |
760 | * Note that GTK extends the regular CSS classes and sometimes uses |
761 | * different names. |
762 | */ |
763 | typedef enum |
764 | { |
765 | GTK_STATE_FLAG_NORMAL = 0, |
766 | GTK_STATE_FLAG_ACTIVE = 1 << 0, |
767 | GTK_STATE_FLAG_PRELIGHT = 1 << 1, |
768 | GTK_STATE_FLAG_SELECTED = 1 << 2, |
769 | GTK_STATE_FLAG_INSENSITIVE = 1 << 3, |
770 | GTK_STATE_FLAG_INCONSISTENT = 1 << 4, |
771 | GTK_STATE_FLAG_FOCUSED = 1 << 5, |
772 | GTK_STATE_FLAG_BACKDROP = 1 << 6, |
773 | GTK_STATE_FLAG_DIR_LTR = 1 << 7, |
774 | GTK_STATE_FLAG_DIR_RTL = 1 << 8, |
775 | GTK_STATE_FLAG_LINK = 1 << 9, |
776 | GTK_STATE_FLAG_VISITED = 1 << 10, |
777 | GTK_STATE_FLAG_CHECKED = 1 << 11, |
778 | GTK_STATE_FLAG_DROP_ACTIVE = 1 << 12, |
779 | GTK_STATE_FLAG_FOCUS_VISIBLE = 1 << 13, |
780 | GTK_STATE_FLAG_FOCUS_WITHIN = 1 << 14 |
781 | } GtkStateFlags; |
782 | |
783 | /** |
784 | * GtkBorderStyle: |
785 | * @GTK_BORDER_STYLE_NONE: No visible border |
786 | * @GTK_BORDER_STYLE_HIDDEN: Same as %GTK_BORDER_STYLE_NONE |
787 | * @GTK_BORDER_STYLE_SOLID: A single line segment |
788 | * @GTK_BORDER_STYLE_INSET: Looks as if the content is sunken into the canvas |
789 | * @GTK_BORDER_STYLE_OUTSET: Looks as if the content is coming out of the canvas |
790 | * @GTK_BORDER_STYLE_DOTTED: A series of round dots |
791 | * @GTK_BORDER_STYLE_DASHED: A series of square-ended dashes |
792 | * @GTK_BORDER_STYLE_DOUBLE: Two parallel lines with some space between them |
793 | * @GTK_BORDER_STYLE_GROOVE: Looks as if it were carved in the canvas |
794 | * @GTK_BORDER_STYLE_RIDGE: Looks as if it were coming out of the canvas |
795 | * |
796 | * Describes how the border of a UI element should be rendered. |
797 | */ |
798 | typedef enum { |
799 | GTK_BORDER_STYLE_NONE, |
800 | GTK_BORDER_STYLE_HIDDEN, |
801 | GTK_BORDER_STYLE_SOLID, |
802 | GTK_BORDER_STYLE_INSET, |
803 | GTK_BORDER_STYLE_OUTSET, |
804 | GTK_BORDER_STYLE_DOTTED, |
805 | GTK_BORDER_STYLE_DASHED, |
806 | GTK_BORDER_STYLE_DOUBLE, |
807 | GTK_BORDER_STYLE_GROOVE, |
808 | GTK_BORDER_STYLE_RIDGE |
809 | } GtkBorderStyle; |
810 | |
811 | /** |
812 | * GtkLevelBarMode: |
813 | * @GTK_LEVEL_BAR_MODE_CONTINUOUS: the bar has a continuous mode |
814 | * @GTK_LEVEL_BAR_MODE_DISCRETE: the bar has a discrete mode |
815 | * |
816 | * Describes how [class@LevelBar] contents should be rendered. |
817 | * |
818 | * Note that this enumeration could be extended with additional modes |
819 | * in the future. |
820 | */ |
821 | typedef enum { |
822 | GTK_LEVEL_BAR_MODE_CONTINUOUS, |
823 | GTK_LEVEL_BAR_MODE_DISCRETE |
824 | } GtkLevelBarMode; |
825 | |
826 | G_END_DECLS |
827 | |
828 | /** |
829 | * GtkInputPurpose: |
830 | * @GTK_INPUT_PURPOSE_FREE_FORM: Allow any character |
831 | * @GTK_INPUT_PURPOSE_ALPHA: Allow only alphabetic characters |
832 | * @GTK_INPUT_PURPOSE_DIGITS: Allow only digits |
833 | * @GTK_INPUT_PURPOSE_NUMBER: Edited field expects numbers |
834 | * @GTK_INPUT_PURPOSE_PHONE: Edited field expects phone number |
835 | * @GTK_INPUT_PURPOSE_URL: Edited field expects URL |
836 | * @GTK_INPUT_PURPOSE_EMAIL: Edited field expects email address |
837 | * @GTK_INPUT_PURPOSE_NAME: Edited field expects the name of a person |
838 | * @GTK_INPUT_PURPOSE_PASSWORD: Like %GTK_INPUT_PURPOSE_FREE_FORM, but characters are hidden |
839 | * @GTK_INPUT_PURPOSE_PIN: Like %GTK_INPUT_PURPOSE_DIGITS, but characters are hidden |
840 | * @GTK_INPUT_PURPOSE_TERMINAL: Allow any character, in addition to control codes |
841 | * |
842 | * Describes primary purpose of the input widget. |
843 | * |
844 | * This information is useful for on-screen keyboards and similar input |
845 | * methods to decide which keys should be presented to the user. |
846 | * |
847 | * Note that the purpose is not meant to impose a totally strict rule |
848 | * about allowed characters, and does not replace input validation. |
849 | * It is fine for an on-screen keyboard to let the user override the |
850 | * character set restriction that is expressed by the purpose. The |
851 | * application is expected to validate the entry contents, even if |
852 | * it specified a purpose. |
853 | * |
854 | * The difference between %GTK_INPUT_PURPOSE_DIGITS and |
855 | * %GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits |
856 | * while the latter also some punctuation (like commas or points, plus, |
857 | * minus) and “e” or “E” as in 3.14E+000. |
858 | * |
859 | * This enumeration may be extended in the future; input methods should |
860 | * interpret unknown values as “free form”. |
861 | */ |
862 | typedef enum |
863 | { |
864 | GTK_INPUT_PURPOSE_FREE_FORM, |
865 | GTK_INPUT_PURPOSE_ALPHA, |
866 | GTK_INPUT_PURPOSE_DIGITS, |
867 | GTK_INPUT_PURPOSE_NUMBER, |
868 | GTK_INPUT_PURPOSE_PHONE, |
869 | GTK_INPUT_PURPOSE_URL, |
870 | GTK_INPUT_PURPOSE_EMAIL, |
871 | GTK_INPUT_PURPOSE_NAME, |
872 | GTK_INPUT_PURPOSE_PASSWORD, |
873 | GTK_INPUT_PURPOSE_PIN, |
874 | GTK_INPUT_PURPOSE_TERMINAL, |
875 | } GtkInputPurpose; |
876 | |
877 | /** |
878 | * GtkInputHints: |
879 | * @GTK_INPUT_HINT_NONE: No special behaviour suggested |
880 | * @GTK_INPUT_HINT_SPELLCHECK: Suggest checking for typos |
881 | * @GTK_INPUT_HINT_NO_SPELLCHECK: Suggest not checking for typos |
882 | * @GTK_INPUT_HINT_WORD_COMPLETION: Suggest word completion |
883 | * @GTK_INPUT_HINT_LOWERCASE: Suggest to convert all text to lowercase |
884 | * @GTK_INPUT_HINT_UPPERCASE_CHARS: Suggest to capitalize all text |
885 | * @GTK_INPUT_HINT_UPPERCASE_WORDS: Suggest to capitalize the first |
886 | * character of each word |
887 | * @GTK_INPUT_HINT_UPPERCASE_SENTENCES: Suggest to capitalize the |
888 | * first word of each sentence |
889 | * @GTK_INPUT_HINT_INHIBIT_OSK: Suggest to not show an onscreen keyboard |
890 | * (e.g for a calculator that already has all the keys). |
891 | * @GTK_INPUT_HINT_VERTICAL_WRITING: The text is vertical |
892 | * @GTK_INPUT_HINT_EMOJI: Suggest offering Emoji support |
893 | * @GTK_INPUT_HINT_NO_EMOJI: Suggest not offering Emoji support |
894 | * @GTK_INPUT_HINT_PRIVATE: Request that the input method should not |
895 | * update personalized data (like typing history) |
896 | * |
897 | * Describes hints that might be taken into account by input methods |
898 | * or applications. |
899 | * |
900 | * Note that input methods may already tailor their behaviour according |
901 | * to the [enum@InputPurpose] of the entry. |
902 | * |
903 | * Some common sense is expected when using these flags - mixing |
904 | * %GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense. |
905 | * |
906 | * This enumeration may be extended in the future; input methods should |
907 | * ignore unknown values. |
908 | */ |
909 | typedef enum |
910 | { |
911 | GTK_INPUT_HINT_NONE = 0, |
912 | GTK_INPUT_HINT_SPELLCHECK = 1 << 0, |
913 | GTK_INPUT_HINT_NO_SPELLCHECK = 1 << 1, |
914 | GTK_INPUT_HINT_WORD_COMPLETION = 1 << 2, |
915 | GTK_INPUT_HINT_LOWERCASE = 1 << 3, |
916 | GTK_INPUT_HINT_UPPERCASE_CHARS = 1 << 4, |
917 | GTK_INPUT_HINT_UPPERCASE_WORDS = 1 << 5, |
918 | GTK_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6, |
919 | GTK_INPUT_HINT_INHIBIT_OSK = 1 << 7, |
920 | GTK_INPUT_HINT_VERTICAL_WRITING = 1 << 8, |
921 | GTK_INPUT_HINT_EMOJI = 1 << 9, |
922 | GTK_INPUT_HINT_NO_EMOJI = 1 << 10, |
923 | GTK_INPUT_HINT_PRIVATE = 1 << 11, |
924 | } GtkInputHints; |
925 | |
926 | /** |
927 | * GtkPropagationPhase: |
928 | * @GTK_PHASE_NONE: Events are not delivered. |
929 | * @GTK_PHASE_CAPTURE: Events are delivered in the capture phase. The |
930 | * capture phase happens before the bubble phase, runs from the toplevel down |
931 | * to the event widget. This option should only be used on containers that |
932 | * might possibly handle events before their children do. |
933 | * @GTK_PHASE_BUBBLE: Events are delivered in the bubble phase. The bubble |
934 | * phase happens after the capture phase, and before the default handlers |
935 | * are run. This phase runs from the event widget, up to the toplevel. |
936 | * @GTK_PHASE_TARGET: Events are delivered in the default widget event handlers, |
937 | * note that widget implementations must chain up on button, motion, touch and |
938 | * grab broken handlers for controllers in this phase to be run. |
939 | * |
940 | * Describes the stage at which events are fed into a [class@EventController]. |
941 | */ |
942 | typedef enum |
943 | { |
944 | GTK_PHASE_NONE, |
945 | GTK_PHASE_CAPTURE, |
946 | GTK_PHASE_BUBBLE, |
947 | GTK_PHASE_TARGET |
948 | } GtkPropagationPhase; |
949 | |
950 | /** |
951 | * GtkPropagationLimit: |
952 | * @GTK_LIMIT_NONE: Events are handled regardless of what their |
953 | * target is. |
954 | * @GTK_LIMIT_SAME_NATIVE: Events are only handled if their target |
955 | * is in the same [iface@Native] as the event controllers widget. Note |
956 | * that some event types have two targets (origin and destination). |
957 | * |
958 | * Describes limits of a [class@EventController] for handling events |
959 | * targeting other widgets. |
960 | */ |
961 | typedef enum |
962 | { |
963 | GTK_LIMIT_NONE, |
964 | GTK_LIMIT_SAME_NATIVE |
965 | } GtkPropagationLimit; |
966 | |
967 | /** |
968 | * GtkEventSequenceState: |
969 | * @GTK_EVENT_SEQUENCE_NONE: The sequence is handled, but not grabbed. |
970 | * @GTK_EVENT_SEQUENCE_CLAIMED: The sequence is handled and grabbed. |
971 | * @GTK_EVENT_SEQUENCE_DENIED: The sequence is denied. |
972 | * |
973 | * Describes the state of a [struct@Gdk.EventSequence] in a [class@Gesture]. |
974 | */ |
975 | typedef enum |
976 | { |
977 | GTK_EVENT_SEQUENCE_NONE, |
978 | GTK_EVENT_SEQUENCE_CLAIMED, |
979 | GTK_EVENT_SEQUENCE_DENIED |
980 | } GtkEventSequenceState; |
981 | |
982 | /** |
983 | * GtkPanDirection: |
984 | * @GTK_PAN_DIRECTION_LEFT: panned towards the left |
985 | * @GTK_PAN_DIRECTION_RIGHT: panned towards the right |
986 | * @GTK_PAN_DIRECTION_UP: panned upwards |
987 | * @GTK_PAN_DIRECTION_DOWN: panned downwards |
988 | * |
989 | * Describes the panning direction of a [class@GesturePan]. |
990 | */ |
991 | typedef enum |
992 | { |
993 | GTK_PAN_DIRECTION_LEFT, |
994 | GTK_PAN_DIRECTION_RIGHT, |
995 | GTK_PAN_DIRECTION_UP, |
996 | GTK_PAN_DIRECTION_DOWN |
997 | } GtkPanDirection; |
998 | |
999 | /** |
1000 | * GtkShortcutScope: |
1001 | * @GTK_SHORTCUT_SCOPE_LOCAL: Shortcuts are handled inside |
1002 | * the widget the controller belongs to. |
1003 | * @GTK_SHORTCUT_SCOPE_MANAGED: Shortcuts are handled by |
1004 | * the first ancestor that is a [iface@ShortcutManager] |
1005 | * @GTK_SHORTCUT_SCOPE_GLOBAL: Shortcuts are handled by |
1006 | * the root widget. |
1007 | * |
1008 | * Describes where [class@Shortcut]s added to a |
1009 | * [class@ShortcutController] get handled. |
1010 | */ |
1011 | typedef enum |
1012 | { |
1013 | GTK_SHORTCUT_SCOPE_LOCAL, |
1014 | GTK_SHORTCUT_SCOPE_MANAGED, |
1015 | GTK_SHORTCUT_SCOPE_GLOBAL |
1016 | } GtkShortcutScope; |
1017 | |
1018 | /** |
1019 | * GtkPickFlags: |
1020 | * @GTK_PICK_DEFAULT: The default behavior, include widgets that are receiving events |
1021 | * @GTK_PICK_INSENSITIVE: Include widgets that are insensitive |
1022 | * @GTK_PICK_NON_TARGETABLE: Include widgets that are marked as non-targetable. See [property@Widget:can-target] |
1023 | * |
1024 | * Flags that influence the behavior of [method@Widget.pick]. |
1025 | */ |
1026 | typedef enum { |
1027 | GTK_PICK_DEFAULT = 0, |
1028 | GTK_PICK_INSENSITIVE = 1 << 0, |
1029 | GTK_PICK_NON_TARGETABLE = 1 << 1 |
1030 | } GtkPickFlags; |
1031 | |
1032 | /** |
1033 | * GtkConstraintRelation: |
1034 | * @GTK_CONSTRAINT_RELATION_EQ: Equal |
1035 | * @GTK_CONSTRAINT_RELATION_LE: Less than, or equal |
1036 | * @GTK_CONSTRAINT_RELATION_GE: Greater than, or equal |
1037 | * |
1038 | * The relation between two terms of a constraint. |
1039 | */ |
1040 | typedef enum { |
1041 | GTK_CONSTRAINT_RELATION_LE = -1, |
1042 | GTK_CONSTRAINT_RELATION_EQ = 0, |
1043 | GTK_CONSTRAINT_RELATION_GE = 1 |
1044 | } GtkConstraintRelation; |
1045 | |
1046 | /** |
1047 | * GtkConstraintStrength: |
1048 | * @GTK_CONSTRAINT_STRENGTH_REQUIRED: The constraint is required towards solving the layout |
1049 | * @GTK_CONSTRAINT_STRENGTH_STRONG: A strong constraint |
1050 | * @GTK_CONSTRAINT_STRENGTH_MEDIUM: A medium constraint |
1051 | * @GTK_CONSTRAINT_STRENGTH_WEAK: A weak constraint |
1052 | * |
1053 | * The strength of a constraint, expressed as a symbolic constant. |
1054 | * |
1055 | * The strength of a [class@Constraint] can be expressed with any positive |
1056 | * integer; the values of this enumeration can be used for readability. |
1057 | */ |
1058 | typedef enum { |
1059 | GTK_CONSTRAINT_STRENGTH_REQUIRED = 1001001000, |
1060 | GTK_CONSTRAINT_STRENGTH_STRONG = 1000000000, |
1061 | GTK_CONSTRAINT_STRENGTH_MEDIUM = 1000, |
1062 | GTK_CONSTRAINT_STRENGTH_WEAK = 1 |
1063 | } GtkConstraintStrength; |
1064 | |
1065 | /** |
1066 | * GtkConstraintAttribute: |
1067 | * @GTK_CONSTRAINT_ATTRIBUTE_NONE: No attribute, used for constant |
1068 | * relations |
1069 | * @GTK_CONSTRAINT_ATTRIBUTE_LEFT: The left edge of a widget, regardless of |
1070 | * text direction |
1071 | * @GTK_CONSTRAINT_ATTRIBUTE_RIGHT: The right edge of a widget, regardless |
1072 | * of text direction |
1073 | * @GTK_CONSTRAINT_ATTRIBUTE_TOP: The top edge of a widget |
1074 | * @GTK_CONSTRAINT_ATTRIBUTE_BOTTOM: The bottom edge of a widget |
1075 | * @GTK_CONSTRAINT_ATTRIBUTE_START: The leading edge of a widget, depending |
1076 | * on text direction; equivalent to %GTK_CONSTRAINT_ATTRIBUTE_LEFT for LTR |
1077 | * languages, and %GTK_CONSTRAINT_ATTRIBUTE_RIGHT for RTL ones |
1078 | * @GTK_CONSTRAINT_ATTRIBUTE_END: The trailing edge of a widget, depending |
1079 | * on text direction; equivalent to %GTK_CONSTRAINT_ATTRIBUTE_RIGHT for LTR |
1080 | * languages, and %GTK_CONSTRAINT_ATTRIBUTE_LEFT for RTL ones |
1081 | * @GTK_CONSTRAINT_ATTRIBUTE_WIDTH: The width of a widget |
1082 | * @GTK_CONSTRAINT_ATTRIBUTE_HEIGHT: The height of a widget |
1083 | * @GTK_CONSTRAINT_ATTRIBUTE_CENTER_X: The center of a widget, on the |
1084 | * horizontal axis |
1085 | * @GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y: The center of a widget, on the |
1086 | * vertical axis |
1087 | * @GTK_CONSTRAINT_ATTRIBUTE_BASELINE: The baseline of a widget |
1088 | * |
1089 | * The widget attributes that can be used when creating a [class@Constraint]. |
1090 | */ |
1091 | typedef enum { |
1092 | GTK_CONSTRAINT_ATTRIBUTE_NONE, |
1093 | GTK_CONSTRAINT_ATTRIBUTE_LEFT, |
1094 | GTK_CONSTRAINT_ATTRIBUTE_RIGHT, |
1095 | GTK_CONSTRAINT_ATTRIBUTE_TOP, |
1096 | GTK_CONSTRAINT_ATTRIBUTE_BOTTOM, |
1097 | GTK_CONSTRAINT_ATTRIBUTE_START, |
1098 | GTK_CONSTRAINT_ATTRIBUTE_END, |
1099 | GTK_CONSTRAINT_ATTRIBUTE_WIDTH, |
1100 | GTK_CONSTRAINT_ATTRIBUTE_HEIGHT, |
1101 | GTK_CONSTRAINT_ATTRIBUTE_CENTER_X, |
1102 | GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y, |
1103 | GTK_CONSTRAINT_ATTRIBUTE_BASELINE |
1104 | } GtkConstraintAttribute; |
1105 | |
1106 | /** |
1107 | * GtkConstraintVflParserError: |
1108 | * @GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL: Invalid or unknown symbol |
1109 | * @GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE: Invalid or unknown attribute |
1110 | * @GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW: Invalid or unknown view |
1111 | * @GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC: Invalid or unknown metric |
1112 | * @GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY: Invalid or unknown priority |
1113 | * @GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION: Invalid or unknown relation |
1114 | * |
1115 | * Domain for VFL parsing errors. |
1116 | */ |
1117 | typedef enum { |
1118 | GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL, |
1119 | GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE, |
1120 | GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW, |
1121 | GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC, |
1122 | GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY, |
1123 | GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION |
1124 | } GtkConstraintVflParserError; |
1125 | |
1126 | /** |
1127 | * GtkSystemSetting: |
1128 | * @GTK_SYSTEM_SETTING_DPI: the [property@Gtk.Settings:gtk-xft-dpi] setting has changed |
1129 | * @GTK_SYSTEM_SETTING_FONT_NAME: The [property@Gtk.Settings:gtk-font-name] setting has changed |
1130 | * @GTK_SYSTEM_SETTING_FONT_CONFIG: The font configuration has changed in a way that |
1131 | * requires text to be redrawn. This can be any of the |
1132 | * [property@Gtk.Settings:gtk-xft-antialias], |
1133 | * [property@Gtk.Settings:gtk-xft-hinting], |
1134 | * [property@Gtk.Settings:gtk-xft-hintstyle], |
1135 | * [property@Gtk.Settings:gtk-xft-rgba] or |
1136 | * [property@Gtk.Settings:gtk-fontconfig-timestamp] settings |
1137 | * @GTK_SYSTEM_SETTING_DISPLAY: The display has changed |
1138 | * @GTK_SYSTEM_SETTING_ICON_THEME: The icon theme has changed in a way that requires |
1139 | * icons to be looked up again |
1140 | * |
1141 | * Values that can be passed to the [vfunc@Gtk.Widget.system_setting_changed] |
1142 | * vfunc. |
1143 | * |
1144 | * The values indicate which system setting has changed. |
1145 | * Widgets may need to drop caches, or react otherwise. |
1146 | * |
1147 | * Most of the values correspond to [class@Settings] properties. |
1148 | * |
1149 | * More values may be added over time. |
1150 | */ |
1151 | typedef enum { |
1152 | GTK_SYSTEM_SETTING_DPI, |
1153 | GTK_SYSTEM_SETTING_FONT_NAME, |
1154 | GTK_SYSTEM_SETTING_FONT_CONFIG, |
1155 | GTK_SYSTEM_SETTING_DISPLAY, |
1156 | GTK_SYSTEM_SETTING_ICON_THEME |
1157 | } GtkSystemSetting; |
1158 | |
1159 | /** |
1160 | * GtkSymbolicColor: |
1161 | * @GTK_SYMBOLIC_COLOR_FOREGROUND: The default foreground color |
1162 | * @GTK_SYMBOLIC_COLOR_ERROR: Indication color for errors |
1163 | * @GTK_SYMBOLIC_COLOR_WARNING: Indication color for warnings |
1164 | * @GTK_SYMBOLIC_COLOR_SUCCESS: Indication color for success |
1165 | * |
1166 | * The indexes of colors passed to symbolic color rendering, such as |
1167 | * [vfunc@Gtk.SymbolicPaintable.snapshot_symbolic]. |
1168 | * |
1169 | * More values may be added over time. |
1170 | * |
1171 | * Since: 4.6 |
1172 | */ |
1173 | typedef enum { |
1174 | GTK_SYMBOLIC_COLOR_FOREGROUND = 0, |
1175 | GTK_SYMBOLIC_COLOR_ERROR = 1, |
1176 | GTK_SYMBOLIC_COLOR_WARNING = 2, |
1177 | GTK_SYMBOLIC_COLOR_SUCCESS = 3 |
1178 | } GtkSymbolicColor; |
1179 | |
1180 | /** |
1181 | * GtkAccessibleRole: |
1182 | * @GTK_ACCESSIBLE_ROLE_ALERT: An element with important, and usually |
1183 | * time-sensitive, information |
1184 | * @GTK_ACCESSIBLE_ROLE_ALERT_DIALOG: A type of dialog that contains an |
1185 | * alert message |
1186 | * @GTK_ACCESSIBLE_ROLE_BANNER: Unused |
1187 | * @GTK_ACCESSIBLE_ROLE_BUTTON: An input element that allows for |
1188 | * user-triggered actions when clicked or pressed |
1189 | * @GTK_ACCESSIBLE_ROLE_CAPTION: Unused |
1190 | * @GTK_ACCESSIBLE_ROLE_CELL: Unused |
1191 | * @GTK_ACCESSIBLE_ROLE_CHECKBOX: A checkable input element that has |
1192 | * three possible values: `true`, `false`, or `mixed` |
1193 | * @GTK_ACCESSIBLE_ROLE_COLUMN_HEADER: A header in a columned list. |
1194 | * @GTK_ACCESSIBLE_ROLE_COMBO_BOX: An input that controls another element, |
1195 | * such as a list or a grid, that can dynamically pop up to help the user |
1196 | * set the value of the input |
1197 | * @GTK_ACCESSIBLE_ROLE_COMMAND: Abstract role. |
1198 | * @GTK_ACCESSIBLE_ROLE_COMPOSITE: Abstract role. |
1199 | * @GTK_ACCESSIBLE_ROLE_DIALOG: A dialog is a window that is designed to interrupt |
1200 | * the current processing of an application in order to prompt the user to enter |
1201 | * information or require a response. |
1202 | * @GTK_ACCESSIBLE_ROLE_DOCUMENT: Unused |
1203 | * @GTK_ACCESSIBLE_ROLE_FEED: Unused |
1204 | * @GTK_ACCESSIBLE_ROLE_FORM: Unused |
1205 | * @GTK_ACCESSIBLE_ROLE_GENERIC: Unused |
1206 | * @GTK_ACCESSIBLE_ROLE_GRID: A grid of items. |
1207 | * @GTK_ACCESSIBLE_ROLE_GRID_CELL: An item in a grid or tree grid. |
1208 | * @GTK_ACCESSIBLE_ROLE_GROUP: An element that groups multiple widgets. GTK uses |
1209 | * this role for various containers, like [class@Box], [class@Viewport], and [class@HeaderBar]. |
1210 | * @GTK_ACCESSIBLE_ROLE_HEADING: Unused |
1211 | * @GTK_ACCESSIBLE_ROLE_IMG: An image. |
1212 | * @GTK_ACCESSIBLE_ROLE_INPUT: Abstract role. |
1213 | * @GTK_ACCESSIBLE_ROLE_LABEL: A visible name or caption for a user interface component. |
1214 | * @GTK_ACCESSIBLE_ROLE_LANDMARK: Abstract role. |
1215 | * @GTK_ACCESSIBLE_ROLE_LEGEND: Unused |
1216 | * @GTK_ACCESSIBLE_ROLE_LINK: A clickable link. |
1217 | * @GTK_ACCESSIBLE_ROLE_LIST: A list of items. |
1218 | * @GTK_ACCESSIBLE_ROLE_LIST_BOX: Unused. |
1219 | * @GTK_ACCESSIBLE_ROLE_LIST_ITEM: An item in a list. |
1220 | * @GTK_ACCESSIBLE_ROLE_LOG: Unused |
1221 | * @GTK_ACCESSIBLE_ROLE_MAIN: Unused |
1222 | * @GTK_ACCESSIBLE_ROLE_MARQUEE: Unused |
1223 | * @GTK_ACCESSIBLE_ROLE_MATH: Unused |
1224 | * @GTK_ACCESSIBLE_ROLE_METER: An element that represents a value within a known range. |
1225 | * @GTK_ACCESSIBLE_ROLE_MENU: A menu. |
1226 | * @GTK_ACCESSIBLE_ROLE_MENU_BAR: A menubar. |
1227 | * @GTK_ACCESSIBLE_ROLE_MENU_ITEM: An item in a menu. |
1228 | * @GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX: A check item in a menu. |
1229 | * @GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO: A radio item in a menu. |
1230 | * @GTK_ACCESSIBLE_ROLE_NAVIGATION: Unused |
1231 | * @GTK_ACCESSIBLE_ROLE_NONE: An element that is not represented to accessibility technologies. |
1232 | * @GTK_ACCESSIBLE_ROLE_NOTE: Unused |
1233 | * @GTK_ACCESSIBLE_ROLE_OPTION: Unused |
1234 | * @GTK_ACCESSIBLE_ROLE_PRESENTATION: An element that is not represented to accessibility technologies. |
1235 | * @GTK_ACCESSIBLE_ROLE_PROGRESS_BAR: An element that displays the progress |
1236 | * status for tasks that take a long time. |
1237 | * @GTK_ACCESSIBLE_ROLE_RADIO: A checkable input in a group of radio roles, |
1238 | * only one of which can be checked at a time. |
1239 | * @GTK_ACCESSIBLE_ROLE_RADIO_GROUP: Unused |
1240 | * @GTK_ACCESSIBLE_ROLE_RANGE: Abstract role. |
1241 | * @GTK_ACCESSIBLE_ROLE_REGION: Unused |
1242 | * @GTK_ACCESSIBLE_ROLE_ROW: A row in a columned list. |
1243 | * @GTK_ACCESSIBLE_ROLE_ROW_GROUP: Unused |
1244 | * @GTK_ACCESSIBLE_ROLE_ROW_HEADER: Unused |
1245 | * @GTK_ACCESSIBLE_ROLE_SCROLLBAR: A graphical object that controls the scrolling |
1246 | * of content within a viewing area, regardless of whether the content is fully |
1247 | * displayed within the viewing area. |
1248 | * @GTK_ACCESSIBLE_ROLE_SEARCH: Unused |
1249 | * @GTK_ACCESSIBLE_ROLE_SEARCH_BOX: A type of textbox intended for specifying |
1250 | * search criteria. |
1251 | * @GTK_ACCESSIBLE_ROLE_SECTION: Abstract role. |
1252 | * @GTK_ACCESSIBLE_ROLE_SECTION_HEAD: Abstract role. |
1253 | * @GTK_ACCESSIBLE_ROLE_SELECT: Abstract role. |
1254 | * @GTK_ACCESSIBLE_ROLE_SEPARATOR: A divider that separates and distinguishes |
1255 | * sections of content or groups of menuitems. |
1256 | * @GTK_ACCESSIBLE_ROLE_SLIDER: A user input where the user selects a value |
1257 | * from within a given range. |
1258 | * @GTK_ACCESSIBLE_ROLE_SPIN_BUTTON: A form of range that expects the user to |
1259 | * select from among discrete choices. |
1260 | * @GTK_ACCESSIBLE_ROLE_STATUS: Unused |
1261 | * @GTK_ACCESSIBLE_ROLE_STRUCTURE: Abstract role. |
1262 | * @GTK_ACCESSIBLE_ROLE_SWITCH: A type of checkbox that represents on/off values, |
1263 | * as opposed to checked/unchecked values. |
1264 | * @GTK_ACCESSIBLE_ROLE_TAB: An item in a list of tab used for switching pages. |
1265 | * @GTK_ACCESSIBLE_ROLE_TABLE: Unused |
1266 | * @GTK_ACCESSIBLE_ROLE_TAB_LIST: A list of tabs for switching pages. |
1267 | * @GTK_ACCESSIBLE_ROLE_TAB_PANEL: A page in a notebook or stack. |
1268 | * @GTK_ACCESSIBLE_ROLE_TEXT_BOX: A type of input that allows free-form text |
1269 | * as its value. |
1270 | * @GTK_ACCESSIBLE_ROLE_TIME: Unused |
1271 | * @GTK_ACCESSIBLE_ROLE_TIMER: Unused |
1272 | * @GTK_ACCESSIBLE_ROLE_TOOLBAR: Unused |
1273 | * @GTK_ACCESSIBLE_ROLE_TOOLTIP: Unused |
1274 | * @GTK_ACCESSIBLE_ROLE_TREE: Unused |
1275 | * @GTK_ACCESSIBLE_ROLE_TREE_GRID: A treeview-like, columned list. |
1276 | * @GTK_ACCESSIBLE_ROLE_TREE_ITEM: Unused |
1277 | * @GTK_ACCESSIBLE_ROLE_WIDGET: An interactive component of a graphical user |
1278 | * interface. This is the role that GTK uses by default for widgets. |
1279 | * @GTK_ACCESSIBLE_ROLE_WINDOW: An application window. |
1280 | * |
1281 | * The accessible role for a [iface@Accessible] implementation. |
1282 | * |
1283 | * Abstract roles are only used as part of the ontology; application |
1284 | * developers must not use abstract roles in their code. |
1285 | */ |
1286 | typedef enum { |
1287 | GTK_ACCESSIBLE_ROLE_ALERT, |
1288 | GTK_ACCESSIBLE_ROLE_ALERT_DIALOG, |
1289 | GTK_ACCESSIBLE_ROLE_BANNER, |
1290 | GTK_ACCESSIBLE_ROLE_BUTTON, |
1291 | GTK_ACCESSIBLE_ROLE_CAPTION, |
1292 | GTK_ACCESSIBLE_ROLE_CELL, |
1293 | GTK_ACCESSIBLE_ROLE_CHECKBOX, |
1294 | GTK_ACCESSIBLE_ROLE_COLUMN_HEADER, |
1295 | GTK_ACCESSIBLE_ROLE_COMBO_BOX, |
1296 | GTK_ACCESSIBLE_ROLE_COMMAND, |
1297 | GTK_ACCESSIBLE_ROLE_COMPOSITE, |
1298 | GTK_ACCESSIBLE_ROLE_DIALOG, |
1299 | GTK_ACCESSIBLE_ROLE_DOCUMENT, |
1300 | GTK_ACCESSIBLE_ROLE_FEED, |
1301 | GTK_ACCESSIBLE_ROLE_FORM, |
1302 | GTK_ACCESSIBLE_ROLE_GENERIC, |
1303 | GTK_ACCESSIBLE_ROLE_GRID, |
1304 | GTK_ACCESSIBLE_ROLE_GRID_CELL, |
1305 | GTK_ACCESSIBLE_ROLE_GROUP, |
1306 | GTK_ACCESSIBLE_ROLE_HEADING, |
1307 | GTK_ACCESSIBLE_ROLE_IMG, |
1308 | GTK_ACCESSIBLE_ROLE_INPUT, |
1309 | GTK_ACCESSIBLE_ROLE_LABEL, |
1310 | GTK_ACCESSIBLE_ROLE_LANDMARK, |
1311 | GTK_ACCESSIBLE_ROLE_LEGEND, |
1312 | GTK_ACCESSIBLE_ROLE_LINK, |
1313 | GTK_ACCESSIBLE_ROLE_LIST, |
1314 | GTK_ACCESSIBLE_ROLE_LIST_BOX, |
1315 | GTK_ACCESSIBLE_ROLE_LIST_ITEM, |
1316 | GTK_ACCESSIBLE_ROLE_LOG, |
1317 | GTK_ACCESSIBLE_ROLE_MAIN, |
1318 | GTK_ACCESSIBLE_ROLE_MARQUEE, |
1319 | GTK_ACCESSIBLE_ROLE_MATH, |
1320 | GTK_ACCESSIBLE_ROLE_METER, |
1321 | , |
1322 | , |
1323 | , |
1324 | , |
1325 | , |
1326 | GTK_ACCESSIBLE_ROLE_NAVIGATION, |
1327 | GTK_ACCESSIBLE_ROLE_NONE, |
1328 | GTK_ACCESSIBLE_ROLE_NOTE, |
1329 | GTK_ACCESSIBLE_ROLE_OPTION, |
1330 | GTK_ACCESSIBLE_ROLE_PRESENTATION, |
1331 | GTK_ACCESSIBLE_ROLE_PROGRESS_BAR, |
1332 | GTK_ACCESSIBLE_ROLE_RADIO, |
1333 | GTK_ACCESSIBLE_ROLE_RADIO_GROUP, |
1334 | GTK_ACCESSIBLE_ROLE_RANGE, |
1335 | GTK_ACCESSIBLE_ROLE_REGION, |
1336 | GTK_ACCESSIBLE_ROLE_ROW, |
1337 | GTK_ACCESSIBLE_ROLE_ROW_GROUP, |
1338 | , |
1339 | GTK_ACCESSIBLE_ROLE_SCROLLBAR, |
1340 | GTK_ACCESSIBLE_ROLE_SEARCH, |
1341 | GTK_ACCESSIBLE_ROLE_SEARCH_BOX, |
1342 | GTK_ACCESSIBLE_ROLE_SECTION, |
1343 | GTK_ACCESSIBLE_ROLE_SECTION_HEAD, |
1344 | GTK_ACCESSIBLE_ROLE_SELECT, |
1345 | GTK_ACCESSIBLE_ROLE_SEPARATOR, |
1346 | GTK_ACCESSIBLE_ROLE_SLIDER, |
1347 | GTK_ACCESSIBLE_ROLE_SPIN_BUTTON, |
1348 | GTK_ACCESSIBLE_ROLE_STATUS, |
1349 | GTK_ACCESSIBLE_ROLE_STRUCTURE, |
1350 | GTK_ACCESSIBLE_ROLE_SWITCH, |
1351 | GTK_ACCESSIBLE_ROLE_TAB, |
1352 | GTK_ACCESSIBLE_ROLE_TABLE, |
1353 | GTK_ACCESSIBLE_ROLE_TAB_LIST, |
1354 | GTK_ACCESSIBLE_ROLE_TAB_PANEL, |
1355 | GTK_ACCESSIBLE_ROLE_TEXT_BOX, |
1356 | GTK_ACCESSIBLE_ROLE_TIME, |
1357 | GTK_ACCESSIBLE_ROLE_TIMER, |
1358 | GTK_ACCESSIBLE_ROLE_TOOLBAR, |
1359 | GTK_ACCESSIBLE_ROLE_TOOLTIP, |
1360 | GTK_ACCESSIBLE_ROLE_TREE, |
1361 | GTK_ACCESSIBLE_ROLE_TREE_GRID, |
1362 | GTK_ACCESSIBLE_ROLE_TREE_ITEM, |
1363 | GTK_ACCESSIBLE_ROLE_WIDGET, |
1364 | GTK_ACCESSIBLE_ROLE_WINDOW |
1365 | } GtkAccessibleRole; |
1366 | |
1367 | /** |
1368 | * GtkAccessibleState: |
1369 | * @GTK_ACCESSIBLE_STATE_BUSY: A “busy” state. This state has boolean values |
1370 | * @GTK_ACCESSIBLE_STATE_CHECKED: A “checked” state; indicates the current |
1371 | * state of a [class@CheckButton]. Value type: [enum@AccessibleTristate] |
1372 | * @GTK_ACCESSIBLE_STATE_DISABLED: A “disabled” state; corresponds to the |
1373 | * [property@Widget:sensitive] property. It indicates a UI element |
1374 | * that is perceivable, but not editable or operable. Value type: boolean |
1375 | * @GTK_ACCESSIBLE_STATE_EXPANDED: An “expanded” state; corresponds to the |
1376 | * [property@Expander:expanded] property. Value type: boolean |
1377 | * or undefined |
1378 | * @GTK_ACCESSIBLE_STATE_HIDDEN: A “hidden” state; corresponds to the |
1379 | * [property@Widget:visible] property. You can use this state |
1380 | * explicitly on UI elements that should not be exposed to an assistive |
1381 | * technology. Value type: boolean |
1382 | * See also: %GTK_ACCESSIBLE_STATE_DISABLED |
1383 | * @GTK_ACCESSIBLE_STATE_INVALID: An “invalid” state; set when a widget |
1384 | * is showing an error. Value type: [enum@AccessibleInvalidState] |
1385 | * @GTK_ACCESSIBLE_STATE_PRESSED: A “pressed” state; indicates the current |
1386 | * state of a [class@ToggleButton]. Value type: [enum@AccessibleTristate] |
1387 | * enumeration |
1388 | * @GTK_ACCESSIBLE_STATE_SELECTED: A “selected” state; set when a widget |
1389 | * is selected. Value type: boolean or undefined |
1390 | * |
1391 | * The possible accessible states of a [iface@Accessible]. |
1392 | */ |
1393 | typedef enum { |
1394 | GTK_ACCESSIBLE_STATE_BUSY, |
1395 | GTK_ACCESSIBLE_STATE_CHECKED, |
1396 | GTK_ACCESSIBLE_STATE_DISABLED, |
1397 | GTK_ACCESSIBLE_STATE_EXPANDED, |
1398 | GTK_ACCESSIBLE_STATE_HIDDEN, |
1399 | GTK_ACCESSIBLE_STATE_INVALID, |
1400 | GTK_ACCESSIBLE_STATE_PRESSED, |
1401 | GTK_ACCESSIBLE_STATE_SELECTED |
1402 | } GtkAccessibleState; |
1403 | |
1404 | /** |
1405 | * GTK_ACCESSIBLE_VALUE_UNDEFINED: |
1406 | * |
1407 | * An undefined value. The accessible attribute is either unset, or its |
1408 | * value is undefined. |
1409 | */ |
1410 | #define GTK_ACCESSIBLE_VALUE_UNDEFINED (-1) |
1411 | |
1412 | /** |
1413 | * GtkAccessibleProperty: |
1414 | * @GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE: Indicates whether inputting text |
1415 | * could trigger display of one or more predictions of the user's intended |
1416 | * value for a combobox, searchbox, or textbox and specifies how predictions |
1417 | * would be presented if they were made. Value type: [enum@AccessibleAutocomplete] |
1418 | * @GTK_ACCESSIBLE_PROPERTY_DESCRIPTION: Defines a string value that describes |
1419 | * or annotates the current element. Value type: string |
1420 | * @GTK_ACCESSIBLE_PROPERTY_HAS_POPUP: Indicates the availability and type of |
1421 | * interactive popup element, such as menu or dialog, that can be triggered |
1422 | * by an element. |
1423 | * @GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS: Indicates keyboard shortcuts that an |
1424 | * author has implemented to activate or give focus to an element. Value type: |
1425 | * string |
1426 | * @GTK_ACCESSIBLE_PROPERTY_LABEL: Defines a string value that labels the current |
1427 | * element. Value type: string |
1428 | * @GTK_ACCESSIBLE_PROPERTY_LEVEL: Defines the hierarchical level of an element |
1429 | * within a structure. Value type: integer |
1430 | * @GTK_ACCESSIBLE_PROPERTY_MODAL: Indicates whether an element is modal when |
1431 | * displayed. Value type: boolean |
1432 | * @GTK_ACCESSIBLE_PROPERTY_MULTI_LINE: Indicates whether a text box accepts |
1433 | * multiple lines of input or only a single line. Value type: boolean |
1434 | * @GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE: Indicates that the user may select |
1435 | * more than one item from the current selectable descendants. Value type: |
1436 | * boolean |
1437 | * @GTK_ACCESSIBLE_PROPERTY_ORIENTATION: Indicates whether the element's |
1438 | * orientation is horizontal, vertical, or unknown/ambiguous. Value type: |
1439 | * [enum@Orientation] |
1440 | * @GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER: Defines a short hint (a word or short |
1441 | * phrase) intended to aid the user with data entry when the control has no |
1442 | * value. A hint could be a sample value or a brief description of the expected |
1443 | * format. Value type: string |
1444 | * @GTK_ACCESSIBLE_PROPERTY_READ_ONLY: Indicates that the element is not editable, |
1445 | * but is otherwise operable. Value type: boolean |
1446 | * @GTK_ACCESSIBLE_PROPERTY_REQUIRED: Indicates that user input is required on |
1447 | * the element before a form may be submitted. Value type: boolean |
1448 | * @GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION: Defines a human-readable, |
1449 | * author-localized description for the role of an element. Value type: string |
1450 | * @GTK_ACCESSIBLE_PROPERTY_SORT: Indicates if items in a table or grid are |
1451 | * sorted in ascending or descending order. Value type: [enum@AccessibleSort] |
1452 | * @GTK_ACCESSIBLE_PROPERTY_VALUE_MAX: Defines the maximum allowed value for a |
1453 | * range widget. Value type: double |
1454 | * @GTK_ACCESSIBLE_PROPERTY_VALUE_MIN: Defines the minimum allowed value for a |
1455 | * range widget. Value type: double |
1456 | * @GTK_ACCESSIBLE_PROPERTY_VALUE_NOW: Defines the current value for a range widget. |
1457 | * Value type: double |
1458 | * @GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT: Defines the human readable text alternative |
1459 | * of aria-valuenow for a range widget. Value type: string |
1460 | * |
1461 | * The possible accessible properties of a [iface@Accessible]. |
1462 | */ |
1463 | typedef enum { |
1464 | GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE, |
1465 | GTK_ACCESSIBLE_PROPERTY_DESCRIPTION, |
1466 | , |
1467 | GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS, |
1468 | GTK_ACCESSIBLE_PROPERTY_LABEL, |
1469 | GTK_ACCESSIBLE_PROPERTY_LEVEL, |
1470 | GTK_ACCESSIBLE_PROPERTY_MODAL, |
1471 | GTK_ACCESSIBLE_PROPERTY_MULTI_LINE, |
1472 | GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE, |
1473 | GTK_ACCESSIBLE_PROPERTY_ORIENTATION, |
1474 | GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER, |
1475 | GTK_ACCESSIBLE_PROPERTY_READ_ONLY, |
1476 | GTK_ACCESSIBLE_PROPERTY_REQUIRED, |
1477 | GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION, |
1478 | GTK_ACCESSIBLE_PROPERTY_SORT, |
1479 | GTK_ACCESSIBLE_PROPERTY_VALUE_MAX, |
1480 | GTK_ACCESSIBLE_PROPERTY_VALUE_MIN, |
1481 | GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, |
1482 | GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT |
1483 | } GtkAccessibleProperty; |
1484 | |
1485 | /** |
1486 | * GtkAccessibleRelation: |
1487 | * @GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT: Identifies the currently active |
1488 | * element when focus is on a composite widget, combobox, textbox, group, |
1489 | * or application. Value type: reference |
1490 | * @GTK_ACCESSIBLE_RELATION_COL_COUNT: Defines the total number of columns |
1491 | * in a table, grid, or treegrid. Value type: integer |
1492 | * @GTK_ACCESSIBLE_RELATION_COL_INDEX: Defines an element's column index or |
1493 | * position with respect to the total number of columns within a table, |
1494 | * grid, or treegrid. Value type: integer |
1495 | * @GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT: Defines a human readable text |
1496 | * alternative of %GTK_ACCESSIBLE_RELATION_COL_INDEX. Value type: string |
1497 | * @GTK_ACCESSIBLE_RELATION_COL_SPAN: Defines the number of columns spanned |
1498 | * by a cell or gridcell within a table, grid, or treegrid. Value type: integer |
1499 | * @GTK_ACCESSIBLE_RELATION_CONTROLS: Identifies the element (or elements) whose |
1500 | * contents or presence are controlled by the current element. Value type: reference |
1501 | * @GTK_ACCESSIBLE_RELATION_DESCRIBED_BY: Identifies the element (or elements) |
1502 | * that describes the object. Value type: reference |
1503 | * @GTK_ACCESSIBLE_RELATION_DETAILS: Identifies the element (or elements) that |
1504 | * provide additional information related to the object. Value type: reference |
1505 | * @GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE: Identifies the element that provides |
1506 | * an error message for an object. Value type: reference |
1507 | * @GTK_ACCESSIBLE_RELATION_FLOW_TO: Identifies the next element (or elements) |
1508 | * in an alternate reading order of content which, at the user's discretion, |
1509 | * allows assistive technology to override the general default of reading in |
1510 | * document source order. Value type: reference |
1511 | * @GTK_ACCESSIBLE_RELATION_LABELLED_BY: Identifies the element (or elements) |
1512 | * that labels the current element. Value type: reference |
1513 | * @GTK_ACCESSIBLE_RELATION_OWNS: Identifies an element (or elements) in order |
1514 | * to define a visual, functional, or contextual parent/child relationship |
1515 | * between elements where the widget hierarchy cannot be used to represent |
1516 | * the relationship. Value type: reference |
1517 | * @GTK_ACCESSIBLE_RELATION_POS_IN_SET: Defines an element's number or position |
1518 | * in the current set of listitems or treeitems. Value type: integer |
1519 | * @GTK_ACCESSIBLE_RELATION_ROW_COUNT: Defines the total number of rows in a table, |
1520 | * grid, or treegrid. Value type: integer |
1521 | * @GTK_ACCESSIBLE_RELATION_ROW_INDEX: Defines an element's row index or position |
1522 | * with respect to the total number of rows within a table, grid, or treegrid. |
1523 | * Value type: integer |
1524 | * @GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT: Defines a human readable text |
1525 | * alternative of aria-rowindex. Value type: string |
1526 | * @GTK_ACCESSIBLE_RELATION_ROW_SPAN: Defines the number of rows spanned by a |
1527 | * cell or gridcell within a table, grid, or treegrid. Value type: integer |
1528 | * @GTK_ACCESSIBLE_RELATION_SET_SIZE: Defines the number of items in the current |
1529 | * set of listitems or treeitems. Value type: integer |
1530 | * |
1531 | * The possible accessible relations of a [iface@Accessible]. |
1532 | * |
1533 | * Accessible relations can be references to other widgets, |
1534 | * integers or strings. |
1535 | */ |
1536 | typedef enum { |
1537 | GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT, |
1538 | GTK_ACCESSIBLE_RELATION_COL_COUNT, |
1539 | GTK_ACCESSIBLE_RELATION_COL_INDEX, |
1540 | GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT, |
1541 | GTK_ACCESSIBLE_RELATION_COL_SPAN, |
1542 | GTK_ACCESSIBLE_RELATION_CONTROLS, |
1543 | GTK_ACCESSIBLE_RELATION_DESCRIBED_BY, |
1544 | GTK_ACCESSIBLE_RELATION_DETAILS, |
1545 | GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE, |
1546 | GTK_ACCESSIBLE_RELATION_FLOW_TO, |
1547 | GTK_ACCESSIBLE_RELATION_LABELLED_BY, |
1548 | GTK_ACCESSIBLE_RELATION_OWNS, |
1549 | GTK_ACCESSIBLE_RELATION_POS_IN_SET, |
1550 | GTK_ACCESSIBLE_RELATION_ROW_COUNT, |
1551 | GTK_ACCESSIBLE_RELATION_ROW_INDEX, |
1552 | GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT, |
1553 | GTK_ACCESSIBLE_RELATION_ROW_SPAN, |
1554 | GTK_ACCESSIBLE_RELATION_SET_SIZE |
1555 | } GtkAccessibleRelation; |
1556 | |
1557 | /** |
1558 | * GtkAccessibleTristate: |
1559 | * @GTK_ACCESSIBLE_TRISTATE_FALSE: The state is `false` |
1560 | * @GTK_ACCESSIBLE_TRISTATE_TRUE: The state is `true` |
1561 | * @GTK_ACCESSIBLE_TRISTATE_MIXED: The state is `mixed` |
1562 | * |
1563 | * The possible values for the %GTK_ACCESSIBLE_STATE_PRESSED |
1564 | * accessible state. |
1565 | * |
1566 | * Note that the %GTK_ACCESSIBLE_TRISTATE_FALSE and |
1567 | * %GTK_ACCESSIBLE_TRISTATE_TRUE have the same values |
1568 | * as %FALSE and %TRUE. |
1569 | */ |
1570 | typedef enum { |
1571 | GTK_ACCESSIBLE_TRISTATE_FALSE, |
1572 | GTK_ACCESSIBLE_TRISTATE_TRUE, |
1573 | GTK_ACCESSIBLE_TRISTATE_MIXED |
1574 | } GtkAccessibleTristate; |
1575 | |
1576 | /** |
1577 | * GtkAccessibleInvalidState: |
1578 | * @GTK_ACCESSIBLE_INVALID_FALSE: There are no detected errors in the value |
1579 | * @GTK_ACCESSIBLE_INVALID_TRUE: The value entered by the user has failed validation |
1580 | * @GTK_ACCESSIBLE_INVALID_GRAMMAR: A grammatical error was detected |
1581 | * @GTK_ACCESSIBLE_INVALID_SPELLING: A spelling error was detected |
1582 | * |
1583 | * The possible values for the %GTK_ACCESSIBLE_STATE_INVALID |
1584 | * accessible state. |
1585 | * |
1586 | * Note that the %GTK_ACCESSIBLE_INVALID_FALSE and |
1587 | * %GTK_ACCESSIBLE_INVALID_TRUE have the same values |
1588 | * as %FALSE and %TRUE. |
1589 | */ |
1590 | typedef enum { /*< prefix=GTK_ACCESSIBLE_INVALID >*/ |
1591 | GTK_ACCESSIBLE_INVALID_FALSE, |
1592 | GTK_ACCESSIBLE_INVALID_TRUE, |
1593 | GTK_ACCESSIBLE_INVALID_GRAMMAR, |
1594 | GTK_ACCESSIBLE_INVALID_SPELLING, |
1595 | } GtkAccessibleInvalidState; |
1596 | |
1597 | /** |
1598 | * GtkAccessibleAutocomplete: |
1599 | * @GTK_ACCESSIBLE_AUTOCOMPLETE_NONE: Automatic suggestions are not displayed. |
1600 | * @GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE: When a user is providing input, text |
1601 | * suggesting one way to complete the provided input may be dynamically |
1602 | * inserted after the caret. |
1603 | * @GTK_ACCESSIBLE_AUTOCOMPLETE_LIST: When a user is providing input, an element |
1604 | * containing a collection of values that could complete the provided input |
1605 | * may be displayed. |
1606 | * @GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH: When a user is providing input, an element |
1607 | * containing a collection of values that could complete the provided input |
1608 | * may be displayed. If displayed, one value in the collection is automatically |
1609 | * selected, and the text needed to complete the automatically selected value |
1610 | * appears after the caret in the input. |
1611 | * |
1612 | * The possible values for the %GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE |
1613 | * accessible property. |
1614 | */ |
1615 | typedef enum { /*< prefix=GTK_ACCESSIBLE_AUTOCOMPLETE >*/ |
1616 | GTK_ACCESSIBLE_AUTOCOMPLETE_NONE, |
1617 | GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE, |
1618 | GTK_ACCESSIBLE_AUTOCOMPLETE_LIST, |
1619 | GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH |
1620 | } GtkAccessibleAutocomplete; |
1621 | |
1622 | /** |
1623 | * GtkAccessibleSort: |
1624 | * @GTK_ACCESSIBLE_SORT_NONE: There is no defined sort applied to the column. |
1625 | * @GTK_ACCESSIBLE_SORT_ASCENDING: Items are sorted in ascending order by this column. |
1626 | * @GTK_ACCESSIBLE_SORT_DESCENDING: Items are sorted in descending order by this column. |
1627 | * @GTK_ACCESSIBLE_SORT_OTHER: A sort algorithm other than ascending or |
1628 | * descending has been applied. |
1629 | * |
1630 | * The possible values for the %GTK_ACCESSIBLE_PROPERTY_SORT |
1631 | * accessible property. |
1632 | */ |
1633 | typedef enum { /*< prefix=GTK_ACCESSIBLE_SORT >*/ |
1634 | GTK_ACCESSIBLE_SORT_NONE, |
1635 | GTK_ACCESSIBLE_SORT_ASCENDING, |
1636 | GTK_ACCESSIBLE_SORT_DESCENDING, |
1637 | GTK_ACCESSIBLE_SORT_OTHER |
1638 | } GtkAccessibleSort; |
1639 | |
1640 | #endif /* __GTK_ENUMS_H__ */ |
1641 | |